![如果 zenity 窗口最小化、调整大小或移动,则调用脚本](https://linux22.com/image/55346/%E5%A6%82%E6%9E%9C%20zenity%20%E7%AA%97%E5%8F%A3%E6%9C%80%E5%B0%8F%E5%8C%96%E3%80%81%E8%B0%83%E6%95%B4%E5%A4%A7%E5%B0%8F%E6%88%96%E7%A7%BB%E5%8A%A8%EF%BC%8C%E5%88%99%E8%B0%83%E7%94%A8%E8%84%9A%E6%9C%AC.png)
zenity
如果我的窗口最小化、调整大小或移动,我想添加一个事件捕获器。
如果窗口关闭或按下按钮,我已经调用了一个脚本断字脚本
但我也想捕捉 zenity 窗口的最小化、调整大小和移动,这样我也可以在脚本mouse-speed
中调用脚本typebreak
。
我在 Ubuntu 上使用 Unity,但该脚本也可以在不同的窗口管理器上运行。
答案1
由于我之前的答案已被删除并转换为评论,我无法编辑或添加新答案,因此附加信息:
我认为仅凭禅意是无法做到这一点的。 zenity 必须转发有关此类窗口事件的信息,但它不用于调整大小和最小化/最大化。您基本上必须在一个丑陋的循环中实现事件处理程序,该循环迭代窗口的状态。如果您这样做,那么为此编写您自己的小型 QT/QML/任何应用程序可能会更容易。
wmctrl 可以调整大小和最小化/最大化,但您必须捕获事件才能触发它。 Devilspie 可以捕捉到这些事件,但总的来说,这将是相当黑客的。
您能详细说明一下整体用例吗?为什么不简单地将窗口固定到固定位置,并向其添加一个按钮来最小化 zenity 对话框,然后您可以通过 wmctrl 在脚本中处理该对话框并返回 zenity 调用的值?