Как не дать новым окнам украсть фокус?

34

Типичная ситуация заключается в том, что я что-то набираю (в худшем случае это мой пароль) в каком-то приложении, когда какое-то другое приложение выскакивает в окно и захватывает фокус, поэтому мой набор текста (пароль) переходит к чему-то другому. Я хотел бы предотвратить это, по крайней мере, когда я активно набираю что-то в поле для редактирования. Я всегда очень ненавидел это в Windows, но я так и не нашел способа предотвратить это. Я начал использовать Ubuntu некоторое время назад, и до сих пор я мог делать все, что хотел, поэтому подумал, что, возможно, это тоже возможно. Заранее спасибо!

Имре Майор
источник
4
Попробуйте изменить настройку с помощью команды терминала gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'strict'. Дайте нам знать, если это работает в вашем случае. Чтобы восстановить настройки по умолчанию, дайте командуgsettings reset org.gnome.desktop.wm.preferences focus-new-windows
vanadium
3
Спасибо. С этим изменением новые окна появляются на заднем плане, но между прочим фокус теряется. Так, например, я начинаю печатать в терминале, и в то же время я запускаю некоторое приложение, которое запускается довольно медленно. Я нажимаю на приложение с левой стороны в избранном, возвращаюсь к окну терминала, чтобы продолжить печатать. Через несколько секунд приложение запускается, его окно помещается за окном терминала (что хорошо), но я теряю фокус и не могу печатать, пока не нажму снова на окне терминала.
Имре Майор
Жаль, что это не сработало полностью. Это остается чем-то, что трудно контролировать. Многие связанные с этим вопросы за эти годы, к сожалению, остались без ответа.
ванадий
Это не ошибка, это особенность! :( Другой вариант этого, который влияет на мой проект, состоит в том, что когда мое приложение отображает всплывающее окно (используя yad), и пользователь щелкает где-либо еще, с тех пор это всплывающее окно и все последующие из того же приложения никогда не возвращают фокус , даже когда они на вершине! (То же самое произошло бы, если бы другое приложение отобразило окно, как в вашем случае.) ...
Джо
... Я еще не пробовал, но я думаю о создании другого небольшого приложения (чтобы мое основное приложение могло запускаться в фоновом режиме и впоследствии останавливаться, когда оно больше не нужно), которое просто сидит в фоновом режиме и ищет мое всплывающие окна и возвращает им фокус. Кажется, что писать достаточно просто, используя bashand xdotool, но многие вещи выглядят простыми, прежде чем пытаться их реализовать. Это должно знать заранее, какие окна он ищет, так что это не общее решение вашей проблемы.
Джо

Ответы:

2

Лучшая рекомендация для этой проблемы - использовать параметры «Всегда сверху» или «Всегда ниже других окон» для окна, в котором вы должны оставаться (не) сфокусированными. Просто щелкните правой кнопкой мыши на строке заголовка и выберите опцию. Я могу обещать, что это окно, так или иначе, будет и / или не потеряет фокус для чего-либо всплывающего.

Вы также можете заставить определенные окна оставаться в определенной рабочей области. Вы также можете перенаправить приложения с частыми уведомлениями в рабочую область 1, а затем работать из рабочей области 2.

Дж. Крейвенс
источник