Фокус следует за мышью или небрежным фокусом на Mac OS X

21

«Фокус следует за мышью» или «неряшливый фокус» - это функция, общая для оконных менеджеров X11 в Linux / Unix, включая GNOME, KDE, CDE, XFCE и оконные менеджеры, такие как Enlightenment, Fluxbox и Window Maker. Он также доступен через TweakUI в Windows. Некоторые отдельные приложения на OS X, такие как iTerm, поддерживают его.

Что это такое? Проще говоря, окно, в котором находится указатель мыши, имеет фокус, а не щелкает окно, чтобы получить фокус.

Поддерживает ли это встроенный графический интерфейс для OS X с некоторыми скрытыми настройками?

jtimberman
источник
а зачем тебе это? (Я знаю, это звучит немного странно, но мне любопытно.)
Бенджамин Добсон
9
Это особенность X11, которую я использовал в течение многих (~ 15) лет в системах Linux, и приятно просто навести указатель мыши на другое окно.
Jtimberman
Eewwh! Конечно, ваше дело, но первое, что я делаю при настройке новой (для меня) WM в X, - это поиск по ссылке.
dmckee
В случае, если кто-то интересуется тем же, что и @BenjaminDobson, и одна из самых больших вещей, которые это позволяет, - это разделить фокус окна и поднять окно (поместив его сверху). Это может показаться странным, но как только вы к этому привыкли, возможность печатать в окне, которое не «сверху», огромна. Если часть окна, с которым вы взаимодействуете, может быть закрыта окном, отображающим информацию, к которой вы активно обращаетесь, это позволяет значительно сократить количество щелчков, движений и переключений клавиатура-мышь-клавиатура для многих распространенных задач.
Дерекв

Ответы:

8

Основная проблема с небрежным фокусом на Mac заключается в том, что строка меню всегда связана с текущим ориентированным приложением; если бы у вас был неаккуратный фокус, доступ к строке меню для конкретного приложения был бы чрезвычайно сложным.

Сказав это, Zooom / 2 делает то, что вы хотите, в дополнение к предоставлению эквивалентов функциям менеджера окон с открытым исходным кодом для перемещения Ctrl + щелчка и изменения размера окон.

Дрю Стивенс
источник
3
Фокус следует за мышью, это хорошо, и часть сочетаний клавиш интересна, но я бы хотел что-то, что не поднимало автоматически: /.
jtimberman
2
Zooom / 2 только поднимает (и фокусирует) окно после задержки.
Дрю Стивенс
9
Как говорится в других комментариях, Zooom / 2 на самом деле не реализует FFM или небрежный фокус. Это ограничено автоподнятием окон, что совсем другое дело. К сожалению, кажется, что в настоящее время нет хорошего способа сделать это в OS X. Как ответил @andz, у Стива Йегге есть хорошая рецензия на это, а также пример кода, который вы можете использовать для достижения ограниченной версии " неаккуратный фокус »(ограничены в том, что клавиши-модификаторы не работают).
pix0r
6
Каким-то образом Ubuntu Unity удается активировать focus-follow-mouse или «неаккуратный фокус» с помощью одной строки меню. Позор Apple не может.
Джейсон Р. Кумбс
1
Не должна ли неаккуратная фокусировка нормально работать с панелью меню? Если пользователю нужно только навести курсор мыши на рабочий стол, чтобы перейти от окна к строке меню, исходное окно все еще должно быть сфокусировано, а строка меню не
изменена
12

Стандартное приложение Terminal, включенное в Mac OS X, выполнит focus-follow-mouse (только внутри этого приложения, без автоматического поднятия), если вы запустите эту команду из оболочки, а затем перезапустите приложение Terminal:

% defaults write com.apple.Terminal FocusFollowsMouse -boolean YES
Джон Сиракуза
источник
5
Да, и я использую iTerm.app вместо Terminal.app (другие причины), что делает то же самое. Я хочу FocusFollowsMouse для всех приложений, а не только для терминалов.
jtimberman
@jtimberman Спасибо! В iTerm2 Build 2.1.4 я активировал его, зайдя в «Профили»> «Открыть профили» (выберите профиль и) «Редактировать профили ...». Вкладка «Точка», проверка прочих настроек «Фокус следует за мышью». Так как это только для iTerm, оно не портит другие части пользовательского интерфейса Apple, и я могу печатать в окне терминала, которое находится не сверху. Да!
kmarsh
7

Стив Йегге (Steve Yegge) в своем блоге утверждает, что в ближайшее время на OS X не произойдет фокусирование на мышке без автоподъема:

http://steve-yegge.blogspot.com/2008/04/settling-osx-focus-follows-mouse-debate.html

Поскольку все утилиты OS X, которые обещают, что «фокус следует за мышью» делают автоподъем, я думаю, что Стив Йегге, к сожалению, прав.

andz
источник
7

@Нарисовался

Основная проблема с небрежным фокусом на Mac заключается в том, что строка меню всегда связана с текущим ориентированным приложением; если бы у вас был неаккуратный фокус, доступ к строке меню для конкретного приложения был бы чрезвычайно сложным.

Строка меню не должна быть изменена , хотя, так же , как вы не должны включить автоматическое повышение.

Сказав это, Zooom / 2 делает то, что вы хотите ...

Но, как уже упоминалось в комментариях: не без авто-рейза, что просто делает его непригодным для использования. Еще одно предостережение заключается в том, что он активирует Finder всякий раз, когда вы наводите мышь на рабочий стол, поэтому вам в значительной степени придется добавить Finder в список игнорирования. Обе эти проблемы относятся и к MondoMouse .

Это еще не было упомянуто здесь, но в OS X есть переход по клику - если вы удерживаете , можно щелкнуть большинство элементов в фоновых окнах.

LRI
источник
Обратите внимание, что Дрю не получит уведомления о вашем ответе. Вы должны начать комментировать чужие сообщения, если хотите ответить на них.
Даниэль Бек
@Daniel Я действительно не хотел адресовать этот ответ как ответ ему, я просто думал, что цитата из блока выглядела бы неуместной без имени пользователя. Но было бы лучше четко отделить ответы от комментариев и экономно цитировать другие ответы. Я также сделал думать , что другие могут быть отвечающими уведомлен. Мета-нить о @replies не очень ясно говорит об этом.
Lri
4

Следует отметить, что Leopard представил «Scrolling Focus Follows Mouse», где вы можете прокручивать колесо прокрутки мыши или жест трекпада в любом окне, над которым находится мышь.

За исключением, конечно, Microsoft Word для Mac.

Это отличная функция, которая, хотя и не полностью Focus-Follows-Mouse, доказывает, что некоторые ее аспекты могут быть реализованы в OS X.

cksubs
источник
3

Не должно быть никаких проблем с выполнением focus-follow-mouse без автоподстройки во всех приложениях, как доказывают пример Terminal и щелчок команды, но вам нужно будет внедрить код в запущенные приложения через mach_inject или аналогичный. По сути, вы бы написали «менеджер ввода», который перенаправляет нажатия / нажатия клавиш каждый раз, когда мышь вводит текстовое поле / кнопку. Любой щелчок, который не попадает на кнопку, поднимает окно. И командный клик только поднимает окно.

Джефф Берджес
источник