是否可以让“i3-msg”等到某个窗口显示出来?

是否可以让“i3-msg”等到某个窗口显示出来?

是否可以使用i3-msg某种方式等待某个类别的窗口显示在桌面上然后再继续?

答案1

回答我自己的问题;我误解了的文档i3-msg。可以等待某些窗口事件,如下所示:

$ i3-msg -t subscribe '[ "window" ]'

就我而言,我想等待特定窗口类的某些事件,在本例中为“build_output”,可以按如下方式完成:

$ i3-msg -m -t subscribe '[ "window" ]' | grep -q build_output

需要该-m选项在收到窗口事件后继续监控窗口事件,然后-qgrep 的选项将在某个窗口事件包含窗口类名时停止命令。可能有点粗糙,但它对我的用例有用。

也许可以监视某些特定窗口类的窗口事件而不必诉诸于grep,但我还没有找到如何做到这一点。

相关内容