xcb_shape_get_rectangles(3)
β¨ NAME β¨
xcb_shape_get_rectangles β bestie, this is the XCB request that goes and asks the X server for the rectangles of a shape, and honestly? iconic behavior. π
(it's a libxcb man page, third section, so it's xcb_shape_get_rectangles(3) if you're keeping score π
)
πΈ SYNOPSIS πΈ
First things first, you gotta bring in the header:
#include <xcb/shape.h>
π Request function
xcb_shape_get_rectangles_cookie_t
xcb_shape_get_rectangles(xcb_connection_t *conn,
xcb_window_t window, xcb_shape_kind_t source_kind);
π¦ Reply datastructure
typedef struct xcb_shape_get_rectangles_reply_t {
uint8_t response_type;
uint8_t ordering;
uint16_t sequence;
uint32_t length;
uint32_t rectangles_len;
uint8_t pad0[20];
} xcb_shape_get_rectangles_reply_t;
β¨ Reply function
xcb_shape_get_rectangles_reply_t
*xcb_shape_get_rectangles_reply(xcb_connection_t *conn,
xcb_shape_get_rectangles_cookie_t cookie,
xcb_generic_error_t **e);
π«Ά Reply accessors
xcb_rectangle_t *xcb_shape_get_rectangles_rectangles(const
xcb_shape_get_rectangles_request_t *reply);
int xcb_shape_get_rectangles_rectangles_length(const
xcb_shape_get_rectangles_reply_t *reply);
xcb_rectangle_iterator_t
xcb_shape_get_rectangles_rectangles_iterator(const
xcb_shape_get_rectangles_reply_t *reply);
π REQUEST ARGUMENTS π
connβ your XCB connection to X11. the link between you and the server, no cap. π«windowβ TODO: NOT YET DOCUMENTED. like, the docs literally just left this one on read. πsource_kindβ TODO: NOT YET DOCUMENTED. same situation, bestie. nobody wrote it up. π
π REPLY FIELDS π
response_typeβ the type of this reply, and in this case it'sXCB_SHAPE_GET_RECTANGLES. this field also lives in thexcb_generic_reply_t, so you can use it to tell your replies apart from each other. v handy, fr fr. π₯sequenceβ the sequence number of the last request the X11 server processed. it's giving "receipt number for your order". π§Ύlengthβ how long the reply is, in words. and a word is 4 bytes, just so we're clear. β¨orderingβ TODO: NOT YET DOCUMENTED. πrectangles_lenβ TODO: NOT YET DOCUMENTED. π
π DESCRIPTION π
...so this section is literally empty in the original. nothing. a void. the silence is deafening. π³οΈβ¨
We move.
β RETURN VALUE β
You get back an xcb_shape_get_rectangles_cookie_t. and here's the thing, bestie β errors have to be handled when you call the reply function xcb_shape_get_rectangles_reply. that's the moment of truth. π
If you'd rather handle errors in the event loop instead, use xcb_shape_get_rectangles_unchecked. see xcb-requests(3) for the deets. π«Ά
π ERRORS π
This request does never generate any errors. not a single one. zero drama, zero chaos, we love a low-maintenance request. π
π SEE ALSO π
...also empty in the original, bestie. we're just out here vibing with no cross-references. π¦
π AUTHOR π
Generated from shape.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. π«Ά
and that's the whole page, bestie!! this one came from X Version 11, libxcb 1.17.0 β go forth and get those rectangles, you absolute main character. π β¨πΈ
π¦ where this page comes from
- alpine 3.22: libxcb-doc 1.17.0-r0 Β· MIT
- alpine 3.23: libxcb-doc 1.17.0-r1 Β· MIT
- alpine 3.24: libxcb-doc 1.17.0-r2 Β· MIT
- arch rolling: libxcb 1.17.0-1 Β· X11
- centos-stream 10: libxcb-devel 1.17.0-3.el10 Β· X11
- debian trixie: libxcb-doc 1.17.0-2
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- nixpkgs unstable: libxcb 1.17.0
- opensuse-leap 16.0: libxcb-devel-doc 1.17.0-160000.2.2 Β· MIT
- ubuntu questing: libxcb-doc 1.17.0-2build1
- ubuntu resolute: libxcb-doc 1.17.0-2ubuntu1
- ubuntu stonking: libxcb-doc 1.17.0-2ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms