XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS_THIS_CLASSES_END(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_input_get_selected_extension_events β€” the libxcb page, bestie edition πŸ’–

okay so this is the manual page for xcb_input_get_selected_extension_events(3), part of the XCB Requests fam, and we're gonna get through it together. grab a strawberry πŸ“, get comfy, and let's go.


✨ NAME ✨

xcb_input_get_selected_extension_events β€” and yeah, that's literally it, the original page leaves the description blank. no cap. it's giving mystery, it's giving ✨enigmatic✨.


🌸 SYNOPSIS 🌸

first things first, you gotta pull in the header:

#include <xcb/xinput.h>

πŸŽ€ Request function πŸŽ€

here's the ask itself, and the cookie it hands you back:

xcb_input_get_selected_extension_events_cookie_t
       xcb_input_get_selected_extension_events(xcb_connection_t *conn,
       xcb_window_t window);

πŸ¦‹ Reply datastructure πŸ¦‹

this is the lil struct the server sends back, look at her:

typedef struct xcb_input_get_selected_extension_events_reply_t {
    uint8_t  response_type;
    uint8_t  xi_reply_type;
    uint16_t sequence;
    uint32_t length;
    uint16_t num_this_classes;
    uint16_t num_all_classes;
    uint8_t  pad0[20];
} xcb_input_get_selected_extension_events_reply_t;

πŸ’… Reply function πŸ’…

this is the one you call to actually collect the reply (and hand it a place for errors if you want):

xcb_input_get_selected_extension_events_reply_t
       *xcb_input_get_selected_extension_events_reply(xcb_connection_t *conn,
       xcb_input_get_selected_extension_events_cookie_t cookie,
       xcb_generic_error_t **e);

🫢 Reply accessors 🫢

the little helper besties that dig stuff out of the reply for you:

xcb_input_event_class_t
       *xcb_input_get_selected_extension_events_this_classes(const
       xcb_input_get_selected_extension_events_request_t *reply);

int xcb_input_get_selected_extension_events_this_classes_length(const
       xcb_input_get_selected_extension_events_reply_t *reply);

xcb_generic_iterator_t
       xcb_input_get_selected_extension_events_this_classes_end(const
       xcb_input_get_selected_extension_events_reply_t *reply);

xcb_input_event_class_t
       *xcb_input_get_selected_extension_events_all_classes(const
       xcb_input_get_selected_extension_events_request_t *reply);

int xcb_input_get_selected_extension_events_all_classes_length(const
       xcb_input_get_selected_extension_events_reply_t *reply);

xcb_generic_iterator_t
       xcb_input_get_selected_extension_events_all_classes_end(const
       xcb_input_get_selected_extension_events_reply_t *reply);
not me noticing the _this_classes and _all_classes accessors take a ..._request_t *reply pointer while their siblings take ..._reply_t *reply 😭 keeping it exactly as written because that's what the page says, fr fr.

🌈 REQUEST ARGUMENTS 🌈

  • conn β€” your XCB connection to X11. the whole reason you're here. the main character connection energy πŸ”₯
  • window β€” TODO: NOT YET DOCUMENTED. bestie the docs simply have not been written yet, it's giving unfinished homework πŸ™ˆ

⭐ REPLY FIELDS ⭐

  • response_type β€” what kind of reply this is, and in this case it's XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS. it also lives in xcb_generic_reply_t, so you can peek at it to tell your replies apart from each other. vibe check for replies, basically πŸ‘‘
  • sequence β€” the sequence number of the last request the X11 server got around to processing.
  • length β€” how long the reply is, measured in words. and yes, a word here is 4 bytes, iykyk.
  • xi_reply_type β€” TODO: NOT YET DOCUMENTED. the mystery continues 😭
  • num_this_classes β€” TODO: NOT YET DOCUMENTED. still a mystery πŸŽ€
  • num_all_classes β€” TODO: NOT YET DOCUMENTED. mystery, part three πŸ¦‹

🧚 DESCRIPTION 🧚

the original page has literally nothing here. not a single word. it's giving silent treatment, it's giving ✨enigmatic again✨. so we're all just gonna sit with that together, respectfully πŸ’œ


πŸ”₯ RETURN VALUE πŸ”₯

you get back an xcb_input_get_selected_extension_events_cookie_t. errors have to be handled when you call the reply function xcb_input_get_selected_extension_events_reply.

if you'd rather handle errors in the event loop instead, then use xcb_input_get_selected_extension_events_unchecked. see xcb-requests(3) for the deets.


πŸ’€ ERRORS πŸ’€

this request does never generate any errors. never ever. not once. iconic behaviour honestly, no drama, we love a low-maintenance request 🫢


🌟 SEE ALSO 🌟

the original page lists nothing here. absolutely nothing. empty. and honestly? that's a mood.


πŸ’œ AUTHOR πŸ’œ

generated from xinput.xml. if you've got corrections or improvements, hit up xcb@lists.freedesktop.org β€” they'd love to hear from you πŸŽ€


okay that's the whole page, you absolutely ate that πŸ’… go forth and get those selected extension events, bestie. you've got this. periodt.

this has been X Version 11, libxcb 1.17.0 β€” thanks for reading, ily, bye πŸ¦‹πŸ’–βœ¨