Вопрос или проблема
Как предотвратить перехват фокуса новыми окнами?
Типичная ситуация: я что-то печатаю (в худшем случае – свой пароль) в каком-то приложении, когда другое приложение выкидывает окно и перехватывает фокус, так что моя печать (пароль) уходит в другое место. Я хотел бы предотвратить это, как минимум, когда активно что-то печатаю в текстовом поле. Я всегда ненавидел это в Windows, но никогда не находил способ это предотвратить. Я начал использовать Ubuntu некоторое время назад, и до сих пор мне удавалось делать всё, что я хотел, так что я подумал, возможно, это тоже возможно. Заранее спасибо!
-
Установите CompizConfig Settings Manager
- либо из Центра программ Ubuntu
-
либо через терминал:
sudo apt-get install compizconfig-settings-manager
-
Откройте CompizConfig Settings Manager и перейдите в Общее -> Общие параметры -> Поведение фокуса и поднятие
-
Измените ‘Уровень предотвращения фокуса‘ с ‘Низкий‘ на ‘Обычный‘.
Если вы используете Cinnamon, есть простое решение, которое я нашел здесь:
https://superuser.com/questions/1377530/how-to-prevent-programs-stealing-focus-in-mint-linux-19
Ищите ‘Окна’, затем:
Окна > Поведение > Предотвратить перехват фокуса > Включено.
Я сталкивался с этой проблемой с всплывающими окнами Thunderbird Lightning и наконец смог это решить.
Поскольку вы еще не приняли ответ, возможно, использование этой ошибки – минимизированного окна “всегда сверху”, чтобы не поднимать новые окна, поможет.
gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'smart'
(Я пробовал первый комментарий, который установил настройку на ‘строгий’, но обнаружил, что это не работает. Я также нашел учебник, когда искал эту настройку, который пытался заставить окна перехватывать фокус, как это делает WindowsOS (противоположно OP), и он установил его на ‘строгий’, чтобы добиться этого, и сказал, что ‘умный’ не позволял этому происходить. Я попробовал ‘умный’, и это сработало. Теперь я могу свободно печатать в терминале, пока открываются программы, и они не перехватывают фокус. Ubuntu 18.04)
https://major.io/2015/07/06/allow-new-windows-to-steal-focus-in-gnome-3/#:~:text=Open%20dconf%2Deditor%20and%20navigate,and%20you%20can%20select%20strict.
Для Ubuntu 24.04, который использует GNOME 46, вы можете использовать расширение Grand Theft Focus для GNOME Shell.
Предотвращение перехвата фокуса в GNOME существует в основном по соображениям безопасности и удобства пользователя. Вот как появляется уведомление “<Приложение> готово”:
Разработчики GNOME знают, что реализация предотвращения перехвата фокуса работает не так хорошо, как должна, и это также связано с тем, как сторонние приложения реализуют протокол активации XDG, поэтому планируется дальнейшее улучшение в сотрудничестве с разработчиками сторонних приложений.
Вы можете прочитать больше в отличной статье Юлиана Спарбера: Понимание предотвращения перехвата фокуса в GNOME Shell
Ответ или решение
Предотвращение кражи фокуса новыми окнами — это распространенная проблема, с которой сталкиваются пользователи операционных систем, таких как Ubuntu. Часто это проявляется, когда пользователи вводят данные (например, пароли), и в этот момент появляется другое окно, перехватывающее фокус. Ниже приведены шаги для решения этой проблемы в среде Ubuntu и некоторых других интерфейсах рабочего стола.
Способы предотвращения кражи фокуса
1. Использование CompizConfig Settings Manager (для всех версий Ubuntu)
-
Установите CompizConfig Settings Manager:
- Вы можете сделать это через Центр программного обеспечения Ubuntu или выполнив следующую команду в терминале:
sudo apt-get install compizconfig-settings-manager
- Вы можете сделать это через Центр программного обеспечения Ubuntu или выполнив следующую команду в терминале:
-
Откройте CompizConfig Settings Manager и перейдите в раздел Общие → Общие параметры → Поведение фокуса и поднятия.
- Измените параметр Уровень предотвращения фокуса с Низкого на Нормальный.
2. Для Cinnamon
Если вы используете окружение рабочего стола Cinnamon, следуйте этому простому решению:
- Перейдите в Меню → Настройки → Диспетчер окон.
- Найдите раздел Поведение окон и установите опцию Предотвратить кражу фокуса на Включено.
3. GSettings для GNOME
Для пользователей GNOME, особенно в версиях Ubuntu до 24.04, можно настроить поведение фокуса через gsettings
:
- Откройте терминал и выполните следующую команду:
gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'smart'
Эта команда изменит поведение новых окон так, чтобы они не перехватывали фокус, позволяя вам вводить данные без помех.
4. Использование расширения "Grand Theft Focus" (для Ubuntu 24.04 и выше)
Для пользователей Ubuntu 24.04 и более поздних версий, использующих GNOME 46, рассмотрите установку расширения GNOME Shell под названием Grand Theft Focus:
- Перейдите по ссылке на расширение и установите его.
Пояснение
Программный интерфейс GNOME имеет встроенные механизмы предотвращения кражи фокуса ради безопасности и удобства пользователя. Однако разработчики GNOME знают о некоторых недостатках реализации этой функции и работают над ее улучшением в сотрудничестве с разработчиками сторонних приложений.
Эти методы должны помочь вам эффективно предотвратить кражу фокуса в вашем рабочем окружении. Если у вас есть дополнительные вопросы или нужны дополнительные рекомендации, не стесняйтесь задавать их.