簡體   English   中英

如何通過Python腳本列出Gnu / Linux上的所有打開(X11)窗口?

[英]How can I list all open (X11) windows on Gnu/Linux from a Python script?

我希望能夠從Python腳本中獲取在Linux桌面上打開的所有窗口的列表。 我想這將需要通過Xlib或其他x11或xdisplay庫進行工作。 這將等同於Win32的EnumWindows API調用上的Linux。

理想情況下,我希望能夠使用它來獲取每個打開的窗口的標題/標題文本以及位置/大小信息的列表。

是否有一些來自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.childrenWindow對象的列表,因此對這些對象的一些研究應該會有所作為。

Window對象文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM