Есть ли библиотека и заголовок для доступа к функциям EWMH/NetWM?
Мне нужно получить информацию о текущих окнах и виртуальных рабочих столах, аналогичную той, которая предоставляется приложением командной строки wmctrl
, У меня есть некоторые (C/C++) API-заголовки и lib-файлы, которые я могу использовать?
2 ответа
Загрузите исходный код wmctrl и изучите его. Если вы создаете какое-то бесплатное программное обеспечение с той же или совместимой лицензией GPLv2, вы можете взять из него некоторый код.
Существует только один исходный файл main.c
и он, кажется, делает обычные вызовы Xlib, в частности вызовы XGetWindowProperty, завернутые в get_property
Я очень удивлен, что вы задали вопрос здесь. Благодаря бесплатному программному обеспечению намного проще и быстрее загружать исходный код и изучать его.
Если это должно быть на C/C++, я думаюlibxcb-wm
является наиболее заметным: очень зрелым, все еще активно развивающимся и созданным Freedesktop той же организацией, которая создала спецификацию EWMH.
В Debian/Ubuntu у вас есть бинарные пакетыlibxcb-ewmh2
(библиотека времени выполнения) иlibxcb-ewmh-dev
(заголовки разработки), оба из исходного пакетаxcb-util-wm
:
sudo apt install libxcb-ewmh-dev # also pulls libxcb-ewmh2, as usual
И официальная документация и учебник от Xorg