xcb_xfixes_ge...mage_and_name(3)

πŸ“¦
version 1.17.0 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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 is XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME. this field also lives in the xcb_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 πŸ’…βœ¨πŸ«Ά