Как мне установить фокус следует за мышью?

143

Есть ли способ настроить поведение фокуса за мышью в Unity?

dharmatech
источник
Возможно, вы захотите удалить пакеты appmenu- *, если включите фокусировку в режиме мыши. В противном случае меню становятся очень раздражающими в использовании.
1
@brandon В Precise 12.04 доступность Head-Up Display (HUD) смягчает проблемы Унифицированной строки меню (UMB), так же как и более старая опция Alt-F10 для доступа к меню. Для тех, кто любит клавиатуру, фокусировка за мышью все же может быть отличной. См. Также предложения и обсуждение в сообщении об ошибке № 674138 «Приложение« Global »нарушает небрежный фокус»: Ошибки: unity
nealmcb

Ответы:

150

13.04 и позже (GUI)

Настройки слежения за фокусом можно установить с помощью инструмента unity-tweakУстановить единство-твик-инструмент

введите описание изображения здесь

введите описание изображения здесь

12.10 и позже (командная строка)

Следующие элементы управления следуют за фокусом

gsettings set org.gnome.desktop.wm.preferences focus-mode 'sloppy'

или же

gsettings set org.gnome.desktop.wm.preferences focus-mode 'mouse'

Используйте значение 'click'для сброса на стандартное управление фокусировкой.

Примечание: разница между 'sloppy'и 'mouse'описана внизу этого ответа.

Кроме того, у вас есть следующая опция, которая при установке автоматически поднимает окно, чтобы иметь фокус:

gsettings set org.gnome.desktop.wm.preferences auto-raise true

Вы можете контролировать задержку для этой возможности автоматического повышения (в миллисекундах):

gsettings set org.gnome.desktop.wm.preferences auto-raise-delay 500

Вы можете изменить, raise-on-clickчтобы контролировать, какое окно находится сверху:

gsettings set org.gnome.desktop.wm.preferences raise-on-click false

12,04

Два метода для 12.04 представлены ниже:

способ 1

введите описание изображения здесь

Используйте gconf-editorи измените показанное в режиме фокусировки значение мыши или неряшливо

(см. примечание ниже)

Если он еще не gconf-editorустановлен, вы можете установить его с помощью команды терминала:

sudo apt-get install gconf-editor

Кроме того, у вас есть следующая клавиша, которая при установке автоматически поднимает окно, чтобы иметь фокус - auto-raise.

Вы можете контролировать задержку для этой возможности автоматического повышения (в миллисекундах), изменяя значение ключа auto-raise-delay

способ 2

использование gnome-tweak-tool

введите описание изображения здесь

изменить режим фокуса окна на мышь или небрежно

(см. примечание ниже)

"мышь" против "неаккуратного"

Режим фокуса "небрежно", кажется, лучше работает при разрешении Alt+ TABпереопределять фокус.

«мышь» означает, что если мышь не находится в окне, окно не выбрано, независимо от того, что вы выбрали каким-либо другим способом.

Режим фокусировки окна показывает, как активируются окна. У него есть три возможных значения; «щелчок» означает, что окна должны быть нажаты для их фокусировки, «неаккуратный» означает, что окна фокусируются, когда мышь входит в окно, а «мышь» означает, что окна фокусируются, когда мышь входит в окно, и не сфокусированы, когда мышь покидает окно. ,

Управление тем, что окно сверху

Следующие параметры окна определяют, какое окно находится перед другими (или «сверху»). Это немного отличается от того, какое окно имеет фокус ввода. Следующие описания помогут объяснить немного.

поднять на-клик

Некоторым пользователям, которые используют focus-follow-mouse, не нравятся окна, с которыми они взаимодействуют, чтобы подняться на вершину, если только они не щелкают подробно на панели плитки окна. Это дает более четкое управление при работе с несколькими окнами, но может разочаровать большинство пользователей.

автоматическое повышение

Некоторым пользователям, которые используют focus-follow-mouse, нравится иметь окно, над которым их курсор находится, автоматически поднимаются наверх. Это делает окно полностью видимым, и никакие другие окна не затмевают его.

автоматическое повышение задержки

Время ожидания до запуска режима автоподъема.

fossfreedom
источник
1
Интересно, что на моей установке 12.10, gsettings ... 'sloppy'действует так же, как 'mouse'и, следовательно, эффективно нарушает выбор <alt> <tab>.
Cfi
6
Хотелось бы, чтобы я голосовал за этот ответ каждый раз, когда мне нужно его найти. Благодарю.
Сарнольд
Поскольку базовые функции WM недоступны при установке по умолчанию, возникает вопрос, почему этот инструмент настройки не установлен по умолчанию, полностью заменяя скудное ПО по умолчанию для системных настроек.
Кристиан
Примечание: командная строка не работает с sudo
myol
У меня включен неаккуратный фокус. Это работает нормально, пока я остаюсь на одном рабочем месте. Однако, когда я перехожу в другое рабочее пространство, окно под указателем получает фокус. Это плохо, потому что позиция указателя не имеет ничего общего с окнами в новой рабочей области. Можно ли ограничить фокус для входа / выхода / щелчка по событиям?
Жан Джордаан
28

Это можно сделать с помощью диспетчера настроек CompizConfig. Я протестировал его 11.10, 12.04 и 12.10, а старейшина Гик успешно протестировал его 14.04. и 16.04

CompizConfig

Выберите «Вкладка« Поведение и повышение »», затем снимите флажок «Нажмите, чтобы сфокусировать». Убедитесь, что «Авто-рейз» отмечен.

Подробнее CompizConfig

Если у вас не установлен CompizConfig Settings Manager (также известный как «CCSM»), вы можете сделать это из Центра программного обеспечения или из командной строки:

sudo apt-get install compizconfig-settings-manager

Затем вы можете запустить его как ccsmиз командной строки, так и из панели запуска с помощью «compiz» или «ccsm»,

Вот некоторые общие замечания по запуску ccsm: каковы некоторые проблемы с ccsm?

belacqua
источник
2
Ответ сам по себе правильный. Возможно, следует прямо упомянуть, что использование этого без автоподъема эффективно нарушает переключение <alt> - <tab>: независимо от того, что выбрано, окно под курсором мыши становится активным.
CFI
1
@cfi Я думаю, что это зависит от интервала автоматического поднятия - я сам бегаю таким образом. Насколько я знаю, по умолчанию не ноль. Какие настройки будут эффективно ломать alt-tab?
belacqua
Вы говорите, что даже если автоподнятие отключено, значение интервала автоподъема имеет значение ??
CFI
@cfi - ха - нет, верно, это не имело бы смысла (и я надеюсь, что это не то, что я настроил). Я проверю свои различные установки и посмотрю, смогу ли я уточнить и ответить на ваш вопрос.
Белаква
24

Хотя для этого вы можете использовать gconf-editor или gnome-tweak-tool, по умолчанию они не установлены. Я также обнаружил (на веб-сайтах http://blog.bodhizazen.com/linux/gnome-3-focus-follows-mouse ):

gconftool-2 --type string --set /apps/metacity/general/focus_mode mouse
gconftool-2 --type boolean --set /apps/metacity/general/auto_raise true
gconftool-2 --type integer --set /apps/metacity/general/auto_raise_delay 600

Лично мне не нравится функция auto_raise, поэтому я установил второй параметр на «false» и не установил параметр auto_raise_delay.

Тем не менее, обратите внимание, что это в конечном итоге «ломает» единую строку меню (UMB) (при наведении курсора мыши на элемент, который вы используете, и на другой элемент, объединенная строка меню теперь отражает то, над чем вы сейчас зависаете).

Два обходных пути:

  • Перед доступом к UMB переместите окно в верхнюю часть экрана.
  • Нажмите F10, чтобы UMB оставался открытым в сфокусированном окне, чтобы вы могли взаимодействовать с ним.

Проверено совсем недавно

больше правок: я поместил «кавычки» в кавычки - да, на самом деле это не сломано , но это нарушает IMO намерение UMB или, по крайней мере, затрудняет его использование, как правильно указывает Риз в комментарии. ИМО, это «ломает простое юзабилити, но с назойливым обходным путем». Несмотря на то, что Linux уделяет особое внимание обеспечению очень сильной многозадачности (что приводит к «беспорядочному» рабочему столу), кажется, что либо UMB уменьшает многозадачность, либо многозадачность уменьшает возможности UMB. Я оставлю это в качестве упражнения для читателя, чтобы решить ...

Джон V
источник
Должна быть задержка, после которой фокус будет меняться, по умолчанию, например, 200 мс - это позволит быстро перемещаться по другим окнам, например, для достижения UMB.
синеватый
если вы предпочитаете не иметь окно возникает , когда вы взаимодействуете с ним, полезно для таких вещей , как ведение журнала хвоста в терминале на вершине , а вы взаимодействуете с браузером, заходящим вы хотите: gconftool-2 --type boolean --set /apps/metacity/general/raise_on_click false. Используйте это в сочетании с auto_raise false. С помощью этой настройки окна все еще могут быть подняты, нажав на строку заголовка.
пгрэм
Где вы берете gconftool-2?
Мэтт
На Gnome 2.16.0 вы должны перезапустить, gnome-sessionчтобы gconftool-2настройки вступили в силу.
Аксель Брегнсбо
2

Еще один способ включить focus-follow-mouse работал для меня в недавней установке 12.10. В настоящее время в 12.10 есть ошибка (и специальный крик для nealmcb для ссылки), из-за которого изменения, сделанные с помощью ccsm или gsettings, возвращаются при выходе из системы или перезагрузке. Я попробовал несколько различных способов обмана ошибки, но в конечном итоге с успехом прочитал этот пост об использовании Unsettings.

В случае переноса этой страницы процесс сводится к следующему:

sudo add-apt-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install unsettings

Запустите unsettings, перейдите на вкладку Windows и выключите Click to Focus . Я перезагрузился, чтобы заставить его «взять», но, вероятно, нужно было только выйти и снова войти.

Для дальнейшего использования, похоже, что это исправление будет доступно в ближайшее время, поэтому обычные методы CCSM или gsettings должны вернуться к правильной работе.

khoxsey
источник