Есть ли библиотека и заголовок для доступа к функциям 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

Другие вопросы по тегам