Фокус слідкує за мишею або неохайним фокусом на Mac OS X


21

"Фокус слідує за мишкою" або "неохайний фокус" - це особливість, спільна для менеджерів вікон X11 в Linux / Unix, включаючи GNOME, KDE, CDE, XFCE та менеджери вікон, такі як Просвіт, Fluxbox та Window Maker. Він також доступний через TweakUI в Windows. Деякі окремі програми на OS X, наприклад, iTerm, підтримують його.

Що це? Простіше кажучи, вікно, де знаходиться вказівник миші, має фокус, а не для того, щоб клацнути вікно, щоб отримати фокус.

Чи підтримує нативний графічний інтерфейс для ОС X з деякими прихованими налаштуваннями?


Чому ти цього хочеш? (Я знаю, що це звучить трохи означає, але мені цікаво.)
Бенджамін Добсон,

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 вдається ввімкнути фокус-слід за мишкою або "неохайним фокусом" за допомогою одного рядка меню. Сором Apple не може.
Джейсон Р. Кумбс

1
Чи не повинен неохайний фокус добре працювати з меню? Якщо користувачеві потрібно лише обвести мишу над робочим столом, щоб потрапити з вікна на панель меню, оригінальне вікно все одно має бути зосередженим, а панель меню незмінною…
binki

12

Стандартний додаток Terminal, включений у Mac OS X, зробить фокусировку миші (лише в рамках цієї програми, і не має автоматичного підняття), якщо запустити цю команду з оболонки та перезапустити додаток Terminal:

% defaults write com.apple.Terminal FocusFollowsMouse -boolean YES

5
Так, і я використовую iTerm.app замість Terminal.app (інші причини), який робить те саме. Я хочу, щоб FocusFollowsMouse був для всіх додатків, а не лише терміналів.
jtimberman

@jtimberman Дякую! У програмі iTerm2 Build 2.1.4 я активував її, перейшовши до «Профілі»> «Відкрити профілі» (виберіть профлею та) «Редагувати профілі»… Вкладка «Точка», інші налаштування, перевірте фокусування слідування миші. Оскільки це обмежено лише iTerm, воно не псує інші Apple-ey частини інтерфейсу користувача, і я можу набрати в термінальне вікно, яке не знаходиться зверху. Ага!
кмарш

7

Стів Йегґе в своєму блозі стверджує, що фокусування слідувати мишкою без авторизованості не відбудеться в OS X найближчим часом:

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

Оскільки всі утиліти OS X, які обіцяють "фокусування слідує за мишкою", роблять авторство, я думаю, що Стів Йегге на жаль правильно.


7

@Малював

Принципова проблема недбалого фокусування на Mac полягає в тому, що рядок меню завжди асоціюється з орієнтованим на даний момент додатком; якби ви мали неохайний фокус, отримати доступ до рядка меню для певної програми буде надзвичайно важко.

Рядок меню, однак, не потрібно було б змінювати, як і вам не потрібно було б включати автоматичне підвищення.

Сказавши це, Zooom / 2 робить те, що ви хочете ...

Але як було сказано в коментарях: не без автоматичного підняття, що просто робить його непридатним. Ще одне застереження полягає в тому, що він активує Finder кожного разу, коли ви переміщуєте мишу по робочому столу, тому вам доведеться майже додати Finder до списку ігнорування. Обидва ці питання стосуються і MondoMouse .

Це не було згадано тут раніше, але OS X має кліки - якщо ви тримаєте , можна клацнути більшість елементів в фонових вікнах.


Зауважте, що Дрю не отримає повідомлення про вашу відповідь. Ви повинні почати коментувати повідомлення інших, якщо ви хочете відповісти на них.
Даніель Бек

@Daniel Я не дуже хотів звертатися до цієї відповіді як відповіді до нього, я просто думав, що блокова цитата здавалася б поза місцем без імені користувача. Але справді було б краще чітко відокремити відповіді від коментарів та цитувати інші відповіді. Я також зробив думати , що інші можуть бути такими, що відповідають повідомлений. Метапотоки про @replies не вказують це дуже чітко.
Лрі

4

Слід зазначити, що Леопард представив «Фокус прокрутки слідує за мишкою», де ви можете прокручувати колесо прокрутки миші або жест трекпада на будь-якому вікні, над яким миша закінчилася.

За винятком, звичайно, Microsoft Word для Mac.

Це відмінна функція, яка, хоча і не є повною мірою фокусування-слідування-миші, доводить, що деякі аспекти цього можна зробити в OS X.


3

Не повинно виникнути проблем із виконанням фокуса-миші без autorise для всіх застосунків, як це підтверджує приклад "Термінал" та команда клацання, але вам потрібно буде ввести код у запущені програми через mach_inject або подібні. Ви, по суті, пишете "менеджер вводу", який перенаправляє натискання клавіш / клацань будь-коли, коли миша вводить текстове поле / кнопку. Будь-яке клацання, яке не натискає кнопку, відкриває вікно. А командний клацання лише піднімає вікно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.