Как я могу обнаружить информацию для самого переднего окна в X? - PullRequest
1 голос
/ 17 мая 2011

Есть ли способ найти идентификатор и, возможно, путь или тип (браузер, ...) самого переднего окна в X?

1 Ответ

1 голос
/ 18 мая 2011

Чтобы узнать идентификатор окна, попробуйте:

xprop -root|grep "_NET_CLIENT_LIST_STACKING(WINDOW): window id"

Свойства окна :

_NET_CLIENT_LIST_STACKING имеет порядок размещения снизу вверх

Один из способов сделать это - проанализировать выходные данные этой команды в вашем приложении.Самое верхнее окно является последним в списке.

РЕДАКТИРОВАТЬ:

Если вам нужно получить идентификатор процесса из идентификатора окна, есть небольшое приложение здесь , который показывает, как сделать этот трюк.Я успешно скомпилировал его с:

g++ win_procid.cpp -o win_procid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgtop-2.0 -lXtst -lgtop-2.0

Мне пришлось установить пакет libgtop2-dev , потому что у меня его не было в моей системе.

...