Как я могу перечислить все открытые (X11) окна в Gnu / Linux из скрипта Python? - PullRequest
0 голосов
/ 28 сентября 2018

Я хотел бы иметь возможность получить список всех окон, открытых на рабочем столе Linux, из скрипта Python.Я полагаю, что это потребует работы через Xlib или другую библиотеку x11 или xdisplay.Это был бы эквивалент Linux для вызова API Win32 EnumWindows .

В идеале, я хотел бы использовать это для получения списка текста заголовка / заголовка каждого открытого окна.вместе с информацией о позиции / размере.

Есть ли какой-нибудь вызов функции из Python, который вернет эту информацию?

1 Ответ

0 голосов
/ 28 сентября 2018

Установить 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 объект документы .

...