Arch manual pages

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);

children_return
Returns the list of children.
display
Specifies the connection to the X server.
nchildren_return
Returns the number of children.
parent_return
Returns the parent window.
root_return
Returns the root window.
w
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.

BadWindow
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