打开一个X窗口并获取/设置其ID?

时间:2013-10-21 15:47:47

标签: window x11 xorg

基本上,我想从命令行启动一个应用程序,并有办法存储该ID供以后使用,所以我可以用wmctrl操作该窗口。像这样的东西

 openandgetID "vlc" > ~/.IDofVLC

所以我总是可以读取这个文件来获取它所在窗口的数字ID,以便我可以操作它。

1 个答案:

答案 0 :(得分:0)

一般来说,这是不可能的。但是,表现良好的客户端为其窗口设置_NET_WM_PID属性,因此一旦获得进程pid,就可以等到创建主窗口并遍历所有窗口树检查每个窗口_NET_WM_PID属性。

此外,您可以利用startup notification协议 - 简而言之,一些客户端可以使用启动通知编码的有效负载(包括pid和启动状态)广播ClientMessage(将其发送到root,但您也可以监听它们)。