XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS_ALL_CLASSES_END(3)
π 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_classesand_all_classesaccessors take a..._request_t *replypointer 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'sXCB_INPUT_GET_SELECTED_EXTENSION_EVENTS. it also lives inxcb_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 is4bytes, 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 π¦πβ¨
π¦ 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