CLI を使用して非アクティブなウィンドウを適切に更新するにはどうすればよいですか?

CLI を使用して非アクティブなウィンドウを適切に更新するにはどうすればよいですか?

たとえば、テキスト ファイルで作業しているときに、別のワークスペースに Firefox ウィンドウがあり、それを定期的に更新したい場合、コマンド ラインからこのアクションを実行するにはどうすればよいでしょうか。

テキストファイルは Firefox から独立しています。開いている Firefox ウィンドウは 1 つだけなので、以下のコメントは Firefox ウィンドウと同じように機能します。

すべて同じセッションとユーザーで発生します。

今のところ、スクリプトを使用して定期的に切り替えwmctrl -a Firefox && xdotool key --clearmodifiers F5、同様のコマンドで戻すだけですが、これによりワークフローが中断されます。

答え1

Windowsの場合

Firefox プロセスの内容を定期的に更新したいとお考えのようですね。説明を簡単にするために、Firefox プロセスは 1 つだけ実行されていると仮定しますが、代わりにタイトルを使用してこの Firefox インスタントを見つけることもできます。

私が使用するツールは無料のオートホットキー

次のサンプル スクリプトは、押すとタイマーを開始し F9、5 秒 (5000 ミリ秒) ごとに F5 キーを Firefox プロセスに送信します。押すとF10タイマーが停止します。

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

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

AutoHotKey をインストールしたら、上記のテキストを.ahkファイルに入れてダブルクリックしてテストします。トレイバーの緑の H アイコンを右クリックして [終了] を選択すると、スクリプトを停止できます。ログイン時にスクリプトを実行するには、 のスタートアップ グループに配置します
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

役に立つ AutoHotkey ドキュメント:

Linuxの場合

Linux で AutoHotKey と同等のプロジェクト:

さらなる可能性については投稿で議論されている。 Linux 用の AutoHotKey ですか?

答え2

Linux では、AHK_X11 を使用して、ウィンドウをバックグラウンドに保持したい場合は、Windows と同じコードを使用できます。

SetTimer, refresh, 10000
Return

refresh:
ControlSend,, {F5}, Firefox
Return

関連情報