xcb_get_geometry - Man Page

Get current window geometry

Synopsis

#include <xcb/xproto.h>

Request function

xcb_get_geometry_cookie_t xcb_get_geometry(xcb_connection_t *conn, xcb_drawable_t drawable);

Reply datastructure

typedef struct xcb_get_geometry_reply_t {
    uint8_t      response_type;
    uint8_t      depth;
    uint16_t     sequence;
    uint32_t     length;
    xcb_window_t root;
    int16_t      x;
    int16_t      y;
    uint16_t     width;
    uint16_t     height;
    uint16_t     border_width;
    uint8_t      pad0[2];
} xcb_get_geometry_reply_t;

Reply function

xcb_get_geometry_reply_t *xcb_get_geometry_reply(xcb_connection_t *conn, xcb_get_geometry_cookie_t cookie, xcb_generic_error_t **e);

Request Arguments

conn

The XCB connection to X11.

drawable

The drawable (Window or Pixmap) of which the geometry will be received.

Reply Fields

response_type

The type of this reply, in this case XCB_GET_GEOMETRY. 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).

depth

The depth of the drawable (bits per pixel for the object).

root

Root window of the screen containing drawable.

x

The X coordinate of drawable. If drawable is a window, the coordinate specifies the upper-left outer corner relative to its parent's origin. If drawable is a pixmap, the X coordinate is always 0.

y

The Y coordinate of drawable. If drawable is a window, the coordinate specifies the upper-left outer corner relative to its parent's origin. If drawable is a pixmap, the Y coordinate is always 0.

width

The width of drawable.

height

The height of drawable.

border_width

The border width (in pixels).

Description

Gets the current geometry of the specified drawable (either Window or Pixmap).

Return Value

Returns an xcb_get_geometry_cookie_t. Errors have to be handled when calling the reply function xcb_get_geometry_reply.

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

Errors

xcb_drawable_error_t

TODO: reasons?

xcb_window_error_t

TODO: reasons?

Example

/*
 * Displays the x and y position of the given window.
 *
 */
void my_example(xcb_connection_t *c, xcb_window_t window) {
    xcb_get_geometry_cookie_t cookie;
    xcb_get_geometry_reply_t *reply;

    cookie = xcb_get_geometry(c, window);
    /* ... do other work here if possible ... */
    if ((reply = xcb_get_geometry_reply(c, cookie, NULL))) {
        printf("This window is at %d, %d\n", reply->x, reply->y);
    }
    free(reply);
}

See Also

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

Author

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

Referenced By

The man pages xcb_get_geometry_reply(3) and xcb_get_geometry_unchecked(3) are aliases of xcb_get_geometry(3).

libxcb 1.17.0 X Version 11 XCB Requests