Как корректно обновить неактивное окно через cli?

Как корректно обновить неактивное окно через cli?

Если я работаю, скажем, с текстовым файлом, но на другом рабочем месте есть окно Firefox, которое я хочу регулярно обновлять: как я могу выполнить это действие через командную строку?

Текстовый файл независим от Firefox. Открыто только одно окно Firefox, поэтому комментарий ниже работает так, как будто.

Все происходит в рамках одного сеанса и пользователя.

Сейчас я просто регулярно переключаюсь на него с помощью скрипта wmctrl -a Firefox && xdotool key --clearmodifiers F5и возвращаюсь обратно с помощью аналогичной команды, но это прерывает мой рабочий процесс.

решение1

Для Windows

Я понимаю, что вы хотите периодически обновлять содержимое процесса Firefox. Для простоты я предположу, что запущен только один процесс Firefox, но вместо этого вы можете использовать заголовок, чтобы найти этот момент Firefox.

Инструмент, который я буду использовать, бесплатныйAutoHotkey.

Следующий пример скрипта запустит таймер при нажатии F9, который будет отправлять клавишу F5 в процесс Firefox каждые 5 секунд (5000 миллисекунд). Нажатие F10остановит таймер:

F9::
SetTimer, sendF5, 5000
return
F10::
SetTimer, sendF5, Off
return

sendF5:
if WinExist("ahk_exe firefox.exe")
  Send, {F5}
return

После установки AutoHotKey поместите указанный выше текст в .ahkфайл и дважды щелкните по нему для проверки. Вы можете остановить скрипт, щелкнув правой кнопкой мыши по зеленому значку H в трее и выбрав Exit. Чтобы он запускался при входе в систему, поместите его в группу Startup в
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Полезная документация по AutoHotkey:

Для Линукс

Некоторые проекты, эквивалентные AutoHotKey под Linux:

Еще несколько возможностей обсуждаются в посте AutoHotKey для Linux?

решение2

В Linux с AHK_X11 вы можете использовать тот же код, что и в Windows, если вы предпочитаете держать окно в фоновом режиме:

SetTimer, refresh, 10000
Return

refresh:
ControlSend,, {F5}, Firefox
Return

Связанный контент