Как эмулировать нажатие кнопки "Закрыть" из скрипта?
Я хотел, чтобы Thunderbird оставался в фоновом режиме, чтобы уведомлять меня о входящих письмах.
После небольшого поиска я нашел этот пост.
Как сохранить работу Thunderbird и Pidgin на заднем плане?
Решение состоит в том, чтобы установить аддон, чтобы при закрытии Thunderbird он оставался в фоновом режиме.
Теперь, чтобы Thunderbird работал при запуске, мы можем просто добавить его в Startup Applications
,
Но когда я открываю свою систему, Thunderbird
также открывается, и мне приходится каждый раз вручную нажимать кнопку закрытия, чтобы Thunderbird уходил на задний план.
Решение, данное в вышеприведенном посте для этой проблемы, состоит в том, чтобы выбрать Minimize on start
, Но это влияет на то, как работает Thunderbird при вызове из меню сообщений. Поэтому я снял эту опцию.
Но если есть способ эмулировать нажатие кнопки "Закрыть" из скрипта, я могу просто добавить этот скрипт в Startup Applications
Так есть ли способ добиться этого?
Примечание: если есть более простой способ решить мою первоначальную проблему с поддержкой Thunderbird в фоновом режиме, пожалуйста, опубликуйте это также.
Большое спасибо.
1 ответ
При вероятном отсутствии Thunderbird
Параметр командной строки, который вы можете использовать, чтобы запустить его в свернутом или фоновом режиме, ваш лучший вариант, вероятно, использовать что-то вроде xdotool
, который находится в репозиториях. (См. Мою более позднюю заметку о дополнении сворачивания в трей).
Это команда, которая вам нужна, чтобы свести к минимуму Thunderbird
; xdotool
ищет Thunderbird
окно в стеке окна, а затем сворачивает его
xdotool search --class thunderbird windowminimize %@
Разверните Thunderbird и попробуйте в терминале; кажется, это команда, которую вы ищете. Часто при использовании в сценариях --sync
Аргумент добавлен, как отмечено на странице руководства:
После запроса окна свести к минимуму, подождите, пока окно фактически свернуто. Это полезно для сценариев, которые зависят от действий, выполняемых перед продолжением.
Возможно, вам также придется немного отложить команду до тех пор, пока Thunderbird не запустится, и в нее встроена команда режима сна. xdotool
так что вы могли бы использовать
xdotool sleep 6 search --class thunderbird windowminimize %@
и установите интервал сна на любое нужное вам значение.
Это минимизирует Thunderbird
, но не к фону, как при использовании надстройки сворачивания в трей, когда вы настраиваете это дополнение так, чтобы при нажатии кнопки выхода Thunderbird
на поднос. Предполагая, что аддон установлен, возможно, будет возможно использовать xdotool
чтобы эмулировать щелчок мышью по оси X в окне Thunderbird, и поэтому фон его. Однако, используя windowkill
вместо windowminimize
с Thunderbird
(когда аддон в трей установлен) закрывает все приложение.
После обсуждения было сказано, что windowunmap
опция была необходима для того, чтобы на самом деле скрыть окно; это намного проще, чем пытаться эмулировать щелчок в окне Thunderbird.
xdotool sleep 6 search --class thunderbird windowunmap %@