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


display Specifies the connection to the X server.
w Specifies the window whose list of children, root, parent, and number of children you want to obtain.
root_return Returns the root window.
parent_return Returns the parent window.
children_return Returns the list of children.
nchildren_return Returns the number of children.


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 bottommost (first) to topmost (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.


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

See also

XFree(), XGetWindowAttributes(), XQueryPointer(), "Obtaining Window Information"
Christophe Tronche, ch@tronche.com