如何通过 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

相关内容