Если я работаю, скажем, с текстовым файлом, но на другом рабочем месте есть окно 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