xcb_xfixes_ge...mage_and_name(3)
π xcb_xfixes_get_cursor_image_and_name β the manual page bestie π
okay so this is the xcb_xfixes_get_cursor_image_and_name(3) page, straight out of the XCB Requests section, and it's literally the request that grabs the cursor image and the cursor name in one lil go. no cap, it's giving "one trip to the server, two presents". π
β¨ NAME β¨
xcb_xfixes_get_cursor_image_and_name β that's it, that's the name, the description field in the original is just vibes and empty space π
π¦ SYNOPSIS π¦
first things first, you gotta include the header:
#include <xcb/xfixes.h>
π«Ά Request function
xcb_xfixes_get_cursor_image_and_name_cookie_t
xcb_xfixes_get_cursor_image_and_name(xcb_connection_t *conn,
(yes the original really does cut off there, that comma is just hanging out, living its best life π)
π Reply datastructure
typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t xhot;
uint16_t yhot;
uint32_t cursor_serial;
xcb_atom_t cursor_atom;
uint16_t nbytes;
uint8_t pad1[2];
} xcb_xfixes_get_cursor_image_and_name_reply_t;
β Reply function
xcb_xfixes_get_cursor_image_and_name_reply_t
*xcb_xfixes_get_cursor_image_and_name_reply(xcb_connection_t *conn,
xcb_xfixes_get_cursor_image_and_name_cookie_t cookie,
xcb_generic_error_t **e);
π Reply accessors
these are the little helpers that dig stuff out of the reply for you, iconic behavior honestly:
uint32_t *xcb_xfixes_get_cursor_image_and_name_cursor_image(const
xcb_xfixes_get_cursor_image_and_name_request_t *reply);
int xcb_xfixes_get_cursor_image_and_name_cursor_image_length(const
xcb_xfixes_get_cursor_image_and_name_reply_t *reply);
xcb_generic_iterator_t
xcb_xfixes_get_cursor_image_and_name_cursor_image_end(const
xcb_xfixes_get_cursor_image_and_name_reply_t *reply);
char *xcb_xfixes_get_cursor_image_and_name_name(const
xcb_xfixes_get_cursor_image_and_name_request_t *reply);
int xcb_xfixes_get_cursor_image_and_name_name_length(const
xcb_xfixes_get_cursor_image_and_name_reply_t *reply);
xcb_generic_iterator_t
xcb_xfixes_get_cursor_image_and_name_name_end(const
xcb_xfixes_get_cursor_image_and_name_reply_t *reply);
π REQUEST ARGUMENTS π
connβ your XCB connection to X11. that's the whole list bestie, one argument, we love a low-maintenance queen π
πΈ REPLY FIELDS πΈ
okay so when the reply comes back it's absolutely stuffed with fields, let's go through them one by one:
response_typeβ the type of this reply, which in this case isXCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME. this field also lives in thexcb_generic_reply_t, so you can use it to tell your replies apart from each other. it's the name tag at the party πsequenceβ the sequence number of the last request the X11 server processed. the receipts, basically.lengthβ how long the reply is, measured in words (and a word is 4 bytes, so do the math π).xβTODO: NOT YET DOCUMENTED.π the docs said "not me leaving this blank"yβTODO: NOT YET DOCUMENTED.πwidthβTODO: NOT YET DOCUMENTED.πheightβTODO: NOT YET DOCUMENTED.πxhotβTODO: NOT YET DOCUMENTED.πyhotβTODO: NOT YET DOCUMENTED.πcursor_serialβTODO: NOT YET DOCUMENTED.πcursor_atomβTODO: NOT YET DOCUMENTED.πnbytesβTODO: NOT YET DOCUMENTED.π
not me reading all those TODOs π the XCB devs really said "figure it out bestie" for like, most of this struct. the fields are there, the lore is not.
π§ DESCRIPTION π§
soooo... the original description section is literally empty. nothing. a void. the main character walked in and said nothing at all β¨ (we still love her tho)
π RETURN VALUE π
it hands you back an xcb_xfixes_get_cursor_image_and_name_cookie_t. and listen, errors? you don't deal with those here β you handle them when you call the reply function xcb_xfixes_get_cursor_image_and_name_reply. that's the moment of truth, fr fr.
if you'd rather handle your errors in the event loop instead, use xcb_xfixes_get_cursor_image_and_name_unchecked. see xcb-requests(3) for the details on that whole situation.
π₯ ERRORS π₯
this request does never generate any errors. not a single one. she's unproblematic, she's chill, she's never gonna text you at 3am with a problem. π
π SEE ALSO π
(the original lists nothing here β no references, no cross-links, just vibes and silence π¦)
π AUTHOR π
Generated from xfixes.xml. Contact xcb@lists.freedesktop.org for corrections and improvements β like, if you know what xhot actually does, please, the people need to know π
and that's the whole page, bestie!! this one shipped as part of X Version 11, libxcb 1.17.0, filed under xcb_xfixes_ge...mage_and_name(3) β go get that cursor image and name, you absolute icon π β¨π«Ά
π¦ 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