LINUX.ORG.RU

проблемы c xwininfo


0

0

Добрый день! Заметил я одну маленькую проблему: при работе xwininfo выделяю окно, смотрю его wid и запоминаю а затем вызываю функцию выставления прозрачности для этого окна - и ничего! с xprop то же самое. Распотрошил я transset чтобы он выводил мне номер wid который он обрабатывает. Так вот номера выводимые trannset и xwininfo разные! В чем зацепка? Как решить эту проблему?

★★★★★

Разобрался. Отвечаю сам же на свой вопрос: так как transset выделяет top window, а xwininfo и xprop конечно же этого не делают. Если в применении к wid-ам полученным с помощью xwininfo применить функцию Get_Window_Top (например) то получим тот же результат что и в transset. Все оказалось очень просто :)

Window Get_Window_Top(Display *dpy, Window child) { Window root, parent; Window *child_list; unsigned int num_children; if (!XQueryTree(dpy, child, &root, &parent, &child_list, &num_children)) fprintf(stderr, "Can't query window tree.\n"); if(parent == root) return child; while(parent != root) { child = parent; if (!XQueryTree(dpy, child, &root, &parent, &child_list, &num_children)) fprintf(stderr, "Can't query window tree.\n"); } return child;

XVilka ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.