0

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

 openandgetID "vlc" > ~/.IDofVLC

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

4

1 回答 1

0

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

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

于 2013-10-22T01:50:21.583 回答