如果我正在处理一个文本文件,但在另一个工作区有一个 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