如何透過cli優雅地更新非活動視窗?

如何透過cli優雅地更新非活動視窗?

例如,如果我正在處理一個文字文件,但在另一個工作區有一個 Firefox 窗口,我想定期更新它:我如何透過命令列執行此操作?

該文字檔獨立於 Firefox。只有一個 Firefox 視窗打開,因此下面的評論就像這樣。

一切都發生在同一會話和使用者下。

現在,我只需使用腳本定期切換到它並wmctrl -a Firefox && xdotool key --clearmodifiers F5使用類似的命令返回,但這會中斷我的工作流程。

答案1

對於 Windows

我了解您希望定期刷新 Firefox 進程的內容。為簡單起見,我假設只有一個 Firefox 進程正在運行,但您也可以使用標題來查找此 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

相關內容