XQuerytree возвращает неправильное количество дочерних оконLinux

Ответить
Anonymous
 XQuerytree возвращает неправильное количество дочерних окон

Сообщение Anonymous »

Я пытаюсь получить количество окон верхнего уровня, то есть дочерних элементов корневого окна в Xlib, с помощью XQuerytree.
Он работает нормально, только когда экспериментирует только с базовыми утилитами X, такими как Xterm или Xeyes, но с num_top_level_windows< /code> содержит совершенно неверный номер для приложений, использующих платформы GTK или QT (например, если открыт только KeepassXC, у меня, по-видимому, 5 окон верхнего уровня).
Вот соответствующий фрагмент кода

Код: Выделить всё

Window returned_root, returned_parent;
Window* top_level_windows;
unsigned int num_top_level_windows;
XQueryTree(
display_,
root_,
&returned_root,
&returned_parent,
&top_level_windows,
&num_top_level_windows);
printf("\n\n N: %d\n", num_top_level_windows);
и display_ — это ссылки на корневое окно и дисплей (полученные через XOpenDisplay и DefaultRootWindow(display_) и должны работать нормально.
Я использую вложенный сеанс Xephyr X-сервера в gentoo Linux Мне действительно интересно, почему возникает эта «ошибка» и как мне узнать истинное количество дочерних окон.
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/787 ... ld-windows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»