Одной из удобных фич графической подсистемы X-Window ОС Linux является возможность автоматической активации окна приложения при наведении на него курсора мыши. Многим пользователям эта возможность очень нравится, и при работе с Windows ее многим не хватает, ведь в стандартной конфигурации Windows для активации нужного окна по нему необходимо щелкнуть мышкой.
Технология активации окна при наведении курсора называется термином Activation follows mouse или X-Mouse (не путать с одноименной программой переопределения кнопок мыши). Попробуем разобраться, каким образом можно активировать функцию X-Mouse в различных версиях Windows.
Активация окна при наведении курсора в Windows XP
В Windows XP отсутствует возможность включить X-Mouse через графический интерфейс ОС. Включить этот режим можно только через реестр (или с помощью специальных утилит, которые, по сути, тоже осуществляют правку реестра, например TweakUI, TaskSwitchXP или VistaSwitcher) .
- Откройте редактор реестра (regedit.exe) и перейдите в ветку HKEY_CURRENT_USER\Control Panel\Desktop
- Нас интересует ключ UserPreferencesMask
- Ключ содержит четыре байта данных. По умолчанию это 9E 3E 01 80
- Нас интересует первый бит. Если изменить его на 9F (получится значение 9F 3E 01 80), окна будут активироваться при наведении указателем мыши, но на передний план выводится, не будут. Если же изменить его на DF (получится значение DF 3E 01 80) – окна будут не только активироваться, но и переводится на передний план, замещая другие окна.Примечание. Значения последних трех байт могут в некоторых случаях отличаться, но для наших целей это непринципиально.
- Закройте редактор реестра и выйдите из системы (logoff)
- При следующей регистрации в системе режим X-Mouse должен заработать
- Чтобы отключить режим автоматической активации окна и переноса его на передний план, значение ключа нужно изменить на исходное: 9E 3E 01 80
- Режим X-Mouse активируется для текущего пользователя. Если нужно изменить настройку для другого пользователя правку нужно вносить в ветку пользователя в разделе HKEY_USERS
- С помощью еще одного ключа ActiveWndTrkTimeout в этой же ветке реестра можно настроить время, в течении которого окно при наведении мыши становится активным. Рекомендуемое значение параметра — 300 (3 секунды)
Режим X-Mouse в Windows 7 и Windows 8
В Windows 7 /8 включить режим автоматической активации окна при наведении на него курсором можно значительно проще. Нам не придется прибегать к ручной модификации реестра. Просто откройте панель управления и перейдите в раздел Ease of Access Center ->Make the mouse easier to use (Центр специальных возможностей — Облегчение работы с мышью), отметьте флажок — Activate a window by hovering over it with the mouse (Активировать окно при наведении на него указателя мыши) и сохраните изменения.
Изменить временную задержку, в течении которой окно, на которое навели курсор становится актовым, можно через реестр способом, описанным выше (ключ ActiveWndTrkTimeout ).
Итак, мы разобрались, как в различных версиях Windows можно включить режим переключения с активного окна на неактивное с помощью простого наведения указателем мыши без необходимости щелкать по нему.
В Linux это работает не совсем так. В винде при наведении курсора на окно, оно становиться активным, как будто-по нему щелкнули и перемещается на передний план. В Linux если окно на заднем плане, оно так и остается на заднем плане, но его можно, к примеру, скролить.
Тут оба варианта описаны как настроить. И это работает.
А вот что касается времени отклика окна… на Win7 значение ключа ActiveWndTrkTimeout ничего не изменяет почему-то, и перезагрузка не помогает. А когда слишком резво всё происходит, не успеваешь перевести курсор на всплывающее окно. Пока через просвет между окон мышь проводишь, всплыв. окно уже закрывается. Может кто знает, где реальные настройки?
Странно, параметр ActiveWndTrkTimeou должен работать.
Проверьте, что нет ошибки в ситаксисе: возможно в вашей Windows 7 параметр называется по другому (ActiveWndTrackTimeout), в этом случае его стоит переименовать в ActiveWndTrkTimeout
Согласен с Вами нужно найти способ отключить перемещение на передний план. Я на 7 или XP с помощью какой то программы делал, именно так и работало. Для некоторых задач это очень удобно. Сейчас на 8.1 опять понадобилась эта функция но включил как описано, и нет предела моему разочарованию. Помогите если кто знает где искать.
Нашёл решение для Vista, 7, 8, 8.1
первый байт
9E — Отключено
9F — Окно будет активироваться, но не будет выводиться на передний план
DF — Окна будут активироваться и выводиться на передний план. (Это значение ставится при настройке через «Специальные возможности»)
Способ работает. Спасибо большое.
Да, синтаксис действительно другой, но переименование не помогло. А может быть эти установки тоже в строке UserPreferencesMask, она там длинная?)) Знать бы, что там остальными числами задается, проверять боязно…
Ради эксперимента задал:
ActiveWndTrkTimeout=500 (hex) или 1280 (Decimal)
UserPreferencesMask = df 1e 07 80 12 00 00 00
Все работает. Окна переключаются при наведении мыши и удержании фокуса в течении 1,2 секунды
Не знаю…. что-то в системе отличается видимо. Поигрался опять сейчас с обоими параметрами, время активации никак не хочет меняться. И переименовывал, и значения один-в-один вводил. Активация окна работает, так же <фоном/на передний план> меняется, а по времени — никак.
Какие значения пробовали подставлять? На самом деле в ключе ActiveWndTrkTimeout указываемый значения в миллисекундах, т.е. указав 1500 (dec) можно сделать задержку активации в 1,5 секунды.
Для вступления изменений нужно перезайти в систему (logoff)
До 3000 пробовал, чтоб заметней было.
И выгружался, и перезагружался для верности.
А еще есть утилита X-Mouse Controls, позволяет сделать все то же самое, но без ручных манипуляция с реестром. Работает во всех версиях Windows
8.1 работает
Спасибо.
Spasibo ogromnoe! ya mesyac muchalsya izza etoy debilnoy programmi. ni kak nemog otklyuchit! avtor vi daje ne predstavlyaete na skolko ya vam blagodaren!!!
Здравствуйте! Помогите, пожалуйста. В Windows XP, если открыты несколько окон, активно в данный момент одно. Открываю иную программу. Пока грузится, работаю с тем активным окном. Когда загрузка закончена, активным автоматически становится окно с новой программой. Постоянно всё перескакивает, надоело)) Как отключить эту функцию? Пусть значок мигает в панели задач, но без автоматического перехода в иное окно…
Попробуйте в ярлыках запускаемых программ поставить опцию — запускать в свернутом окне. Возможно поможет.
ЗЫ. Что за программы у вас так долго грузятся??
itpro, спасибо Вам за ответ! Обязательно попробую! А как опцию поставить, через свойства ярлыка?
Программы бухгалтерские. 1С, например 🙂
itpro, нашла! Простите за беспокойство. Ваш способ сработал! СПАСИБО ВАМ ОГРОМНОЕ!!! Работать стало лучше))))))
На русском это Центр специальных возможностей, там настройки мыши
Большое спасибо. Искал от обратного. Нужно было избавиться от проблемы активации окон при попадании мыши в область. Благодаря вашей статье понял в чем суть. Респект.
Да, кстати, в русской винде:
Панель управления — Специальные возможности — Центр специальных возможностей — Облегчение работы с мышью — Раздел «Упрощенное управление окнами», Пункт «Активировать окно при наведении на него указателя мыши». Всем добра.