dwww Home | Manual pages | Find package

xcb_query_tree(3)                 XCB Requests                xcb_query_tree(3)

NAME
       xcb_query_tree - query the window tree

SYNOPSIS
       #include <xcb/xproto.h>

   Request function

       xcb_query_tree_cookie_t xcb_query_tree(xcb_connection_t *conn,
              xcb_window_t window);

   Reply datastructure
       typedef struct xcb_query_tree_reply_t {
           uint8_t      response_type;
           uint8_t      pad0;
           uint16_t     sequence;
           uint32_t     length;
           xcb_window_t root;
           xcb_window_t parent;
           uint16_t     children_len;
           uint8_t      pad1[14];
       } xcb_query_tree_reply_t;

   Reply function

       xcb_query_tree_reply_t *xcb_query_tree_reply(xcb_connection_t *conn,
              xcb_query_tree_cookie_t cookie, xcb_generic_error_t **e);

   Reply accessors

       xcb_window_t *xcb_query_tree_children(const xcb_query_tree_request_t
              *reply);

       int xcb_query_tree_children_length(const xcb_query_tree_reply_t *reply);

       xcb_generic_iterator_t xcb_query_tree_children_end(const
              xcb_query_tree_reply_t *reply);

REQUEST ARGUMENTS
       conn      The XCB connection to X11.

       window    The window to query.

REPLY FIELDS
       response_type
                 The  type  of  this  reply,  in this case XCB_QUERY_TREE. This
                 field is also present in the xcb_generic_reply_t  and  can  be
                 used to tell replies apart from each other.

       sequence  The  sequence  number of the last request processed by the X11
                 server.

       length    The length of the reply, in words (a word is 4 bytes).

       root      The root window of window.

       parent    The parent window of window.

       children_len
                 The number of child windows.

DESCRIPTION
       Gets the root window ID, parent window ID and list of  children  windows
       for  the  specified  window.  The  children  are listed in bottom-to-top
       stacking order.

RETURN VALUE
       Returns an xcb_query_tree_cookie_t. Errors have to be handled when call-
       ing the reply function xcb_query_tree_reply.

       If  you  want  to  handle  errors  in  the  event  loop   instead,   use
       xcb_query_tree_unchecked. See xcb-requests(3) for details.

ERRORS
       This request does never generate any errors.

EXAMPLE
       /*
        * Displays the root, parent and children of the specified window.
        *
        */
       void my_example(xcb_connection_t *conn, xcb_window_t window) {
           xcb_query_tree_cookie_t cookie;
           xcb_query_tree_reply_t *reply;

           cookie = xcb_query_tree(conn, window);
           if ((reply = xcb_query_tree_reply(conn, cookie, NULL))) {
               printf("root = 0x%08x\n", reply->root);
               printf("parent = 0x%08x\n", reply->parent);

               xcb_window_t *children = xcb_query_tree_children(reply);
               for (int i = 0; i < xcb_query_tree_children_length(reply); i++)
                   printf("child window = 0x%08x\n", children[i]);

               free(reply);
           }
       }

SEE ALSO
       xcb-requests(3), xcb-examples(3), xwininfo(1)

AUTHOR
       Generated from xproto.xml. Contact xcb@lists.freedesktop.org for correc-
       tions and improvements.

X Version 11                     libxcb 1.17.0                xcb_query_tree(3)

Generated by dwww version 1.16 on Sat Oct 3 07:33:14 CEST 2026.