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