如何模拟从脚本中按“关闭”按钮?

我希望Thunderbird留在后台通知我收到的邮件。

经过一番搜索,我找到了这篇文章。
如何让Thunderbird和Pidgin在后台运行?

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

现在,要让Thunderbird在Start up运行,我们可以将它添加到Startup Applications

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

针对此问题的上述post中给出的解决方案是选择Minimize on start 。 但这样做会影响Thunderbird从Messaging菜单调用时的工作方式。 所以我取消选择了这个选项。

但是,如果有一种方法可以模拟脚本中的“关闭”按钮,我可以将该脚本添加到“ Startup Applications

有没有办法实现这一目标?

注意:如果有一种更简单的方法可以解决我在背景中保留Thunderbird的原始问题,请同时发布。

非常感谢。

在可能没有 Thunderbird命令行选项的情况下,您可以使用它来最小化或在后台启动它,您最好的选择可能是使用类似xdotool东西,它位于存储库中。 (请参阅我之后关于最小化托盘插件的说明 )。

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

 xdotool search --class thunderbird windowminimize %@ 

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

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

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

 xdotool sleep 6 search --class thunderbird windowminimize %@ 

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

这样可以最大限度地减少Thunderbird ,但不会像使用最小化到托盘插件时一样,当您设置该插件时按下退出键将Thunderbird发送到托盘。 假设安装了addon,可以使用xdotool模拟Thunderbird窗口中x的鼠标单击,然后对其进行后台处理。 但是,使用windowkill而不是使用Thunderbird进行windowminimize (安装托盘插件时)会关闭整个应用程序。


经过讨论,据说windowunmap选项是实际隐藏窗口所必需的选项; 这比试图模拟雷鸟窗口上的点击要容易得多。

 xdotool sleep 6 search --class thunderbird windowunmap %@