如何从 Python 脚本列出 Gnu/Linux 上所有打开的 (X11) windows?
How can I list all open (X11) windows on Gnu/Linux from a Python script?
我希望能够从 Python 脚本获取在 Linux 桌面上打开的所有 windows 的列表。我想这需要通过 Xlib 或其他一些 x11 或 xdisplay 库。这将是 win32 的 EnumWindows API 调用中的 Linux 等价物。
理想情况下,我希望能够使用它来获取每个打开的 window 的 title/caption 文本列表以及 position/size 信息。
是否有来自 Python 的函数调用会 return 此信息?
安装python-xlib
:
pip3 install python-xlib
试试这个:
from Xlib import display
d = display.Display()
root = d.screen().root
query = root.query_tree()
for c in query.children:
# returns window name or None
name = c.get_wm_name()
if name:
print(name)
我不确定其他属性。 query.children
是 Window
个对象的列表,因此对这些对象进行一些研究应该会有所发现。
Window
对象 docs.
我希望能够从 Python 脚本获取在 Linux 桌面上打开的所有 windows 的列表。我想这需要通过 Xlib 或其他一些 x11 或 xdisplay 库。这将是 win32 的 EnumWindows API 调用中的 Linux 等价物。
理想情况下,我希望能够使用它来获取每个打开的 window 的 title/caption 文本列表以及 position/size 信息。
是否有来自 Python 的函数调用会 return 此信息?
安装python-xlib
:
pip3 install python-xlib
试试这个:
from Xlib import display
d = display.Display()
root = d.screen().root
query = root.query_tree()
for c in query.children:
# returns window name or None
name = c.get_wm_name()
if name:
print(name)
我不确定其他属性。 query.children
是 Window
个对象的列表,因此对这些对象进行一些研究应该会有所发现。
Window
对象 docs.