xcb_randr_set_screen_config(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_randr_set_screen_config β€” the XCB Requests glow-up πŸ’–

okay bestie, sit down, hydrate, because we're diving into xcb_randr_set_screen_config from the XCB Requests corner of the X11 universe. this is a libxcb function, it lives in <xcb/randr.h>, and it is exactly as extra as it sounds. πŸ¦‹


✨ NAME ✨

xcb_randr_set_screen_config β€” setting your screen config, bestie. that's the whole vibe. (the original manpage left this blank, which is honestly so real of it, but we're keeping it blank too because facts don't change just because i'm hyped. πŸ’…)


🌸 SYNOPSIS 🌸

#include <xcb/randr.h>

πŸŽ€ Request function

xcb_randr_set_screen_config_cookie_t
       xcb_randr_set_screen_config(xcb_connection_t *conn,
       xcb_window_t window, xcb_timestamp_t timestamp,
       xcb_timestamp_t config_timestamp, uint16_t sizeID,
       uint16_t rotation, uint16_t rate);

πŸŽ€ Reply datastructure

typedef struct xcb_randr_set_screen_config_reply_t {
    uint8_t         response_type;
    uint8_t         status;
    uint16_t        sequence;
    uint32_t        length;
    xcb_timestamp_t new_timestamp;
    xcb_timestamp_t config_timestamp;
    xcb_window_t    root;
    uint16_t        subpixel_order;
    uint8_t         pad0[10];
} xcb_randr_set_screen_config_reply_t;

πŸŽ€ Reply function

xcb_randr_set_screen_config_reply_t
       *xcb_randr_set_screen_config_reply(xcb_connection_t *conn,
       xcb_randr_set_screen_config_cookie_t cookie,
       xcb_generic_error_t **e);

πŸ’œ REQUEST ARGUMENTS πŸ’œ

  • conn β€” your XCB connection to X11. the whole portal to the server, the main character of every XCB call, no cap. πŸ”₯
  • window β€” TODO: NOT YET DOCUMENTED. yeah. the manpage really said "mystery" on this one. 🫢
  • timestamp β€” TODO: NOT YET DOCUMENTED. same energy, bestie. it's giving unwritten. πŸ™ˆ
  • config_timestamp β€” TODO: NOT YET DOCUMENTED. also undocumented. iconic in a chaotic way. πŸ’€
  • sizeID β€” TODO: NOT YET DOCUMENTED. the docs simply did not come through. πŸ’…
  • rotation β€” TODO: NOT YET DOCUMENTED. spinning, presumably, but the manpage won't confirm that, and neither will i. 🌈
  • rate β€” TODO: NOT YET DOCUMENTED. also a mystery box. ✨
fr fr: every one of those args is literally marked TODO: NOT YET DOCUMENTED. in the source. i am not making this up, and i am not filling in the gaps with guesses. facts only. 🧚

πŸ¦‹ REPLY FIELDS πŸ¦‹

  • response_type β€” the type of this reply, in this case XCB_RANDR_SET_SCREEN_CONFIG. this field is also present in the xcb_generic_reply_t and can be used to tell replies apart from each other. it's the little name tag at the party. πŸŽ€
  • sequence β€” the sequence number of the last request processed by the X11 server. basically the receipt number. keep it. πŸ“
  • length β€” the length of the reply, in words (a word is 4 bytes). math girlies rise. πŸ”₯
  • status β€” TODO: NOT YET DOCUMENTED. yep. πŸ’€
  • new_timestamp β€” TODO: NOT YET DOCUMENTED. πŸ™ˆ
  • config_timestamp β€” TODO: NOT YET DOCUMENTED. (yes, there's one in the request AND one in the reply, and no, neither is documented. we stay unbothered.) πŸ’…
  • root β€” TODO: NOT YET DOCUMENTED. 🌸
  • subpixel_order β€” TODO: NOT YET DOCUMENTED. ✨

🌈 DESCRIPTION 🌈

the DESCRIPTION section of the original manpage is, and i say this with love, completely empty. no paragraphs. no prose. nothing. it's giving silent treatment, it's giving mystery, it's giving "we'll tell you later" and then never telling you. πŸ’€

so we're keeping it empty too, bestie. the vibe is preserved. the facts are preserved. the emptiness is canon. 🫢


πŸ‘‘ RETURN VALUE πŸ‘‘

returns an xcb_randr_set_screen_config_cookie_t. πŸͺ

errors have to be handled when calling the reply function xcb_randr_set_screen_config_reply.

if you want to handle errors in the event loop instead, use xcb_randr_set_screen_config_unchecked. see xcb-requests(3) for details.

ok so real talk: xcb_randr_set_screen_config_reply = you get your errors right there, up close and personal. xcb_randr_set_screen_config_unchecked = you go event-loop mode and deal with them as they arrive. pick your fighter. πŸ’…

πŸ’€ ERRORS πŸ’€

this request does never generate any errors.

not one. zero. nada. it's the good kid of the XCB family. 🧚✨


πŸ’œ SEE ALSO πŸ’œ

...and that's it. the SEE ALSO section is genuinely empty in the original. no cross references, no little friends, nothing. it stands alone, main character energy, no supporting cast. πŸ‘‘


🌸 AUTHOR 🌸

generated from randr.xml. contact xcb@lists.freedesktop.org for corrections and improvements.


and that's the whole page, bestie!! πŸŽ€ this little gem shipped as part of X Version 11, from libxcb 1.17.0, and yes, the manual page header really does say xcb_randr_set_screen_config(3) β€” mwah, obsessed, periodt. πŸ’…πŸ’–