Как отслеживать активные изменения окна с помощью xcb?

Я пытаюсь найти способ отслеживать изменения свойства _NET_ACTIVE_WINDOW. Сейчас я опрашиваю каждую секунду, чтобы обновить текущее активное окно. Я знаю, что есть способ получить события об этом, я видел ссылки на него, но я не могу найти код (который я могу понять), который объясняет, как это сделать.


person zee    schedule 25.10.2019    source источник


Ответы (1)


Если вы установите маску PropertyChange в корневом окне, вы начнете получать PropertyNotify событий в свой код. См. пример в моем ответе здесь: Linux получает уведомление о сфокусированном изменение окна графического интерфейса

person Andrey Sidorov    schedule 25.10.2019
comment
Спасибо за ваш комментарий, но я все еще не могу понять это правильно. Вот что я получил до сих пор. pastebin.com/p1p3PxRP это не работает, хотя, если я переключаю окна, ничего не происходит с моим выводом - person zee; 26.10.2019
comment
ваш код в целом выглядит хорошо (хотя я не очень хорошо знаком с xcb api) - person Andrey Sidorov; 27.10.2019