如何通过脚本模拟按下“关闭”按钮?

如何通过脚本模拟按下“关闭”按钮?

我想了雷鸟留在后台通知我有邮件。

经过一番搜索,我找到了这篇帖子。
如何保持 Thunderbird 和 Pidgin 在后台运行?

解决方案是安装一个插件,这样当我们关闭 Thunderbird 时它就只留在后台。

现在,为了让 thunderbird 在启动时运行,我们只需将其添加到Startup Applications

但是,当我打开我的系统时,它Thunderbird也会打开,并且我每次都必须手动按下关闭按钮才能让 Thunderbird 进入后台。

给出的解决方案以上帖子解决此问题的方法是选择Minimize on start。但这样做会影响从消息菜单调用 Thunderbird 时的工作方式。所以我取消选择了此选项。

但是,如果有办法通过脚本模拟按下“关闭”按钮,我就可以将该脚本添加到Startup Applications

那么有办法实现这个吗?

笔记 :如果有更简单的方法来解决我原来让 Thunderbird 保持在后台的问题,也请发布。

非常感谢。

答案1

在里面可能缺席命令行选项Thunderbird,你可以使用它来最小化或在后台启动它,你最好的选择可能是使用类似的东西xdotool,它在存储库中。(请参阅我后面关于最小化到托盘插件)。

这是最小化实例所需的命令Thunderbird;在窗口堆栈中xdotool搜索窗口,然后将其最小化Thunderbird

xdotool search --class thunderbird windowminimize %@

最大化 Thunderbird,然后在终端中尝试它;它似乎就是您要找的命令。通常在脚本中使用时--sync会添加参数,如手册页中所述:

请求窗口最小化后,等待窗口真正最小化。这对于依赖于操作完成之后再继续的脚本非常有用。

您可能还需要稍微延迟命令,直到 Thunderbird 实际启动,并且内置有睡眠命令xdotool,因此您可以使用

xdotool sleep 6 search --class thunderbird windowminimize %@

并将睡眠间隔设置为您需要的任何值。

这会最小化Thunderbird,但不会像使用最小化到托盘插件,因为您设置了该插件,因此按下退出会发送Thunderbird到托盘。假设已安装该插件,则可能可以使用来xdotool模拟在 Thunderbird 窗口中单击 x 的鼠标,从而将其置于背景中。但是,使用windowkill而不是windowminimizewith Thunderbird(当安装了托盘插件时)会关闭整个应用程序。


经过讨论,有人说该windowunmap选项是实际隐藏窗口所必需的;这比尝试模拟单击雷鸟窗口要容易得多。

xdotool sleep 6 search --class thunderbird windowunmap %@

相关内容