xcb_xkb_set_debugging_flags(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_xkb_set_debugging_flags πŸ’…

okay bestie, welcome to a page from the XCB Requests manual β€” yes that's the manual name, we're in XCB land now, tie your hair back. This one is about a request function that pokes at XKB debugging flags, and I'm gonna walk you through every single crumb of it, no skips, no shortcuts, periodt. 🫢


✨ NAME ✨

xcb_xkb_set_debugging_flags β€” and that is genuinely the whole section. No little dash-description, no vibe explanation, nothing. The manpage said "the name speaks for itself" and honestly? respect the confidence. πŸ‘‘


✨ SYNOPSIS ✨

the include you need πŸŽ€

#include <xcb/xkb.h>

Request function 🌸

xcb_xkb_set_debugging_flags_cookie_t
       xcb_xkb_set_debugging_flags(xcb_connection_t *conn,
       uint16_t msgLength, uint32_t affectFlags, uint32_t flags,
       uint32_t affectCtrls, uint32_t ctrls, const
       xcb_xkb_string8_t *message);

Reply datastructure 🧚

typedef struct xcb_xkb_set_debugging_flags_reply_t {
    uint8_t  response_type;
    uint8_t  pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t currentFlags;
    uint32_t currentCtrls;
    uint32_t supportedFlags;
    uint32_t supportedCtrls;
    uint8_t  pad1[8];
} xcb_xkb_set_debugging_flags_reply_t;

Reply function πŸ’œ

xcb_xkb_set_debugging_flags_reply_t
       *xcb_xkb_set_debugging_flags_reply(xcb_connection_t *conn,
       xcb_xkb_set_debugging_flags_cookie_t cookie,
       xcb_generic_error_t **e);

πŸŽ€ REQUEST ARGUMENTS πŸŽ€

okay so here's everything you hand over when you make the request. heads up: most of these are the classic "we never actually wrote this down" situation, and I am not gonna invent lore for you. 😭

  • conn β€” your XCB connection to X11. the whole pipeline, the main character, the one you bring everywhere. 🫢
  • msgLength β€” TODO: NOT YET DOCUMENTED.</p> yeah. they said what they said.
  • affectFlags β€” TODO: NOT YET DOCUMENTED.</p>
  • flags β€” TODO: NOT YET DOCUMENTED.</p>
  • affectCtrls β€” TODO: NOT YET DOCUMENTED.</p>
  • ctrls β€” TODO: NOT YET DOCUMENTED.</p>
  • message β€” TODO: NOT YET DOCUMENTED.</p> (it's a const xcb_xkb_string8_t *, so like, it's some string, but the docs are staying mysterious ✨)

πŸ’« REPLY FIELDS πŸ’«

when the server finally replies, this is what you're unwrapping. 🎁

  • response_type β€” the type of this reply, which in this case is XCB_XKB_SET_DEBUGGING_FLAGS. this field is also hanging out in xcb_generic_reply_t, so you can use it to tell your replies apart from each other when they're all crowding your inbox. πŸ’…
  • sequence β€” the sequence number of the last request the X11 server actually processed. your lil receipt number, iykyk. 🧾
  • length β€” how long the reply is, in words. and reminder bestie, a word is 4 bytes. πŸ“
  • currentFlags β€” TODO: NOT YET DOCUMENTED.</p>
  • currentCtrls β€” TODO: NOT YET DOCUMENTED.</p>
  • supportedFlags β€” TODO: NOT YET DOCUMENTED.</p>
  • supportedCtrls β€” TODO: NOT YET DOCUMENTED.</p>
not me listing four fields in a row that the docs just refuse to explain 😭 the structure is real, the descriptions are simply on vacation. that's all we got, and that's all we're passing along.

🌈 DESCRIPTION 🌈

yeah… this section is empty. like, genuinely nothing here. no prose, no lore, no nothing. we move. πŸ’€


⭐ RETURN VALUE ⭐

Hands you back an xcb_xkb_set_debugging_flags_cookie_t. πŸͺ And here's the important part: errors have to be handled when you call the reply function xcb_xkb_set_debugging_flags_reply.

But if you'd rather catch your errors in the event loop instead, use xcb_xkb_set_debugging_flags_unchecked. That whole flow is explained over in xcb-requests(3), so go read that one too, bestie. πŸ“š


πŸ’€ ERRORS πŸ’€

This request does never generate any errors. not a single one. zero. none. the drama-free request of the century. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

also empty. the manpage really said "no further reading, go touch grass." 🌱


🫢 AUTHOR 🫢

Generated from xkb.xml. If you spot something that needs fixing or improving, hit up xcb@lists.freedesktop.org β€” they take corrections and improvements, fr fr. πŸ’Œ


okay that's the whole page, you ate it, you understood it, you're iconic. πŸ’– thanks for reading with me β€” this one came from X Version 11, libxcb 1.17.0, and yes, xcb_xkb_set_debugging_flags(3) is the girl we've been talking about this whole time. now go forth and set those debugging flags, whatever they may be. mwah. πŸ’…βœ¨πŸŽ€