GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
xcb_query_tree(3) XCB Requests xcb_query_tree(3)

xcb_query_tree - query the window tree

#include <xcb/xproto.h>

xcb_query_tree_cookie_t xcb_query_tree(xcb_connection_t *conn, xcb_window_t window);


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;

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

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

conn
The XCB connection to X11.
window
The window to query.

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.

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.

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.

This request does never generate any errors.


/*
 * 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);
    }
}

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

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.
libxcb 1.14 X Version 11

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.