Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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_win-
	    dow_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 *re-
	    ply);

     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_re-
	    ply_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 or-
     der.

RETURN VALUE
     Returns an xcb_query_tree_cookie_t. Errors have to be handled when  calling
     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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xcb_query_tree&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help