Я пишу приложение, используя X11, Xt и Motif напрямую с C. Я хочу иметь возможность перечислять все дочерние виджеты из родительского окна. Есть ли способ сделать это?
Я нашел следующий фрагмент для рекурсивного анализа дерева виджетов Motif здесь , но у меня есть только структура окна Xlib, поэтому я хочу иметь возможность получать дочерние виджеты этого окна, а затем передавать этот виджет к чему-то похожему на этот рекурсивный синтаксический анализатор деревьев.
Мой текущий код выглядит примерно так:
int main() {
Display* display;
int screen_num = 0;
display = XOpenDisplay(NULL);
Window window = XRootWindow(display, screen_num);
dumpWidgetTree((Widget)window);
return 0;
}
Я попытался просто привести Window к Widget, но это, как и следовало ожидать, вызвало segfault.