Есть ли способ предотвратить захват фокуса другим приложением?

9

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

Меня всегда это раздражало в Windows, но с этим мало что можно поделать, и я не могу не чувствовать, что это можно исправить в Unix.

В настоящее время я использую Gnome в качестве среды рабочего стола (на RHEL 5.8) и в соответствии с тем, wmctrl -mчто я сейчас использую в Metacityкачестве оконного менеджера. Хотя я предпочел бы придерживаться этих параметров по умолчанию, я был бы рад узнать о менеджерах окон, которые не демонстрируют такое поведение.

Марк Бут
источник
1
Я не использую gnome, но должны быть настройки оконного менеджера и, возможно, инструменты для настройки окна, которые имеют настройку «сфокусировать фокус».
vgoff
3
Gnome - это не оконный менеджер, а целое окружение рабочего стола, которое может использовать любой из множества оконных менеджеров.
jw013
Будьте осторожны с тем, что вы хотите. У меня есть противоположная проблема в Gnome. ask.fedoraproject.org/en/question/112121/… Противоположное поведение более раздражает, чем вы думаете.
сентября

Ответы:

5

FWIW, с помощью xterm, нажмите левую кнопку мыши, удерживая Ctrlклавишу, чтобы открыть меню, где вы можете выбрать безопасную клавиатуру . который использует XGrabKeyboard для эксклюзивного использования клавиатуры.

Вы также можете связать его с ключом, например:

xterm -xrm 'XTerm.VT100.translations: #override Shift <KeyPress> F2: secure()'

Для Shift-F2. Хотя вы бы предпочли, чтобы это было в файле ресурсов (загружаемом xtermкак- ~/.Xdefaultsлибо или хранящимся на X-сервере с xrdbпомощью xterm и запрашиваемом им), а не в командной строке.

Стефан Шазелас
источник
Это очень специфично, и xtermя не могу вспомнить, что использовал его годами. Я бы подумал, что большинство людей, использующих Gnome, будут использовать gnome-terminal.
Марк Бут
Я использую xterm для многих вещей, у меня есть несколько открытых одновременно как легкий; никогда не думал, что это может иметь такую ​​вещь! Спасибо!
Водолей Сила
2

Вы не говорите, какой оконный менеджер вы используете под gnome. Наиболее распространенными из них являются metacity, compiz(и гном-оболочки в новых версиях гнома) , хотя вы можете использовать любой вам нравится (хотя некоторые лучше интегрироваться с гномом , чем другие).

Для openbox измените файл конфигурации (что-то вроде того, из ~/.config/openbox/rc.xmlкоторого вы можете скопировать /etc/xdg/openbox/rc.xml) на:

<focus>
  <focusNew>no</focusNew>
  <!-- always try to focus new windows when they appear. other rules do
       apply -->
Стефан Шазелас
источник
Я установил openbox просто, чтобы попробовать это, но я думаю, что вы забыли сказать, в каком файле вы находите эти строки?
Эмануэль Берг
Хорошо, нашел это:/etc/xdg/openbox/rc.xml
Эмануэль Берг
@MarkBooth. Попробуйтеwmctrl -m
Стефан Шазелас