我希望能够从Python脚本中获取在Linux桌面上打开的所有窗口列表。我想这可能需要通过Xlib或其他x11或xdisplay库来实现。这将是win32的EnumWindows API调用在Linux中的等效方法。
理想情况下,我希望能够使用此功能获取每个打开窗口的标题/标题文本以及位置/大小信息的列表。
是否有一些Python函数调用可以返回此信息?
理想情况下,我希望能够使用此功能获取每个打开窗口的标题/标题文本以及位置/大小信息的列表。
是否有一些Python函数调用可以返回此信息?
安装 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
对象的文档。