Он работает нормально, только когда экспериментирует только с базовыми утилитами 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);
Код: Выделить всё
root_Я использую вложенный сеанс Xephyr X-сервера в gentoo Linux Мне действительно интересно, почему возникает эта «ошибка» и как мне узнать истинное количество дочерних окон.
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/787 ... ld-windows
Мобильная версия