Как эмулировать нажатие кнопки "Закрыть" из скрипта?

Я хотел, чтобы 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 %@
Другие вопросы по тегам