如何从xserver获取打开的窗口列表
有人知道如何从 Xserver 获取所有打开窗口的列表吗?
Anyone got an idea how to get from an Xserver the list of all open windows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有人知道如何从 Xserver 获取所有打开窗口的列表吗?
Anyone got an idea how to get from an Xserver the list of all open windows?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
基于Marten的答案构建,(假设您的窗口管理器支持E扩展W< /strong>indow Manager Hints),您可以将该窗口 ID 列表返回到
xprop
中以获取_NET_WM_NAME 属性:
但在命令行中,使用
wmctrl
会更容易:以编程方式,使用
python-xlib
,您可以执行相同的操作:或者,更好然而,使用
EWMH
库:Building off of Marten's answer, (assuming your window manager supports Extended Window Manager Hints) you can feed that list of window ids back into
xprop
to get the_NET_WM_NAME
property:But at the command line, it would just be easier to use
wmctrl
:Programmatically, with
python-xlib
, you can do the same with:Or, better yet, using the
EWMH
library:您可以从 CLI 中使用
如果您需要在自己的代码中执行此操作,则需要使用
Xlib
库中的XQueryTree
函数。From the CLI you can use
If you need to do this within your own code then you need to use the
XQueryTree
function from theXlib
library.如果您的窗口管理器实现 EWMH 规范,您还可以查看根窗口的
_NET_CLIENT_LIST
值。 这是由大多数现代窗口管理器设置的:可以通过编程轻松获取该值,请参阅 Xlib 文档!
If your window manager implements EWMH specification, you can also take a look at the
_NET_CLIENT_LIST
value of the root window. This is set by most modern window managers:That value can easily be obtained programmatically, see your Xlib documentation!