DOKK / manpages / debian 10 / libx11-doc / XQueryTree.3.en
XQueryTree(3) XLIB FUNCTIONS XQueryTree(3)

XQueryTree - query window tree information

Status XQueryTree(Display *display, Window w, Window *root_return, Window *parent_return, Window **children_return, unsigned int *nchildren_return);

Returns the list of children.
Specifies the connection to the X server.
Returns the number of children.
Returns the parent window.
Returns the root window.
Specifies the window whose list of children, root, parent, and number of children you want to obtain.

The XQueryTree function returns the root ID, the parent window ID, a pointer to the list of children windows (NULL when there are no children), and the number of children in the list for the specified window. The children are listed in current stacking order, from bottom-most (first) to top-most (last). XQueryTree returns zero if it fails and nonzero if it succeeds. To free a non-NULL children list when it is no longer needed, use XFree.

XQueryTree can generate a BadWindow error.

This really should return a screen *, not a root window ID.

A value for a Window argument does not name a defined Window.

XFree(3), XGetWindowAttributes(3), XQueryPointer(3)
Xlib - C Language X Interface

libX11 1.6.7 X Version 11