xcb_randr_set...output_source(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...output_source(3) ✨

okay bestie, welcome to a page from the XCB Requests corner of the manual, straight outta libxcb β€” this one is literally called xcb_randr_set_provider_output_source and bestie... the name says it all and also says nothing at all, which is so on brand for XCB πŸ’…


πŸŽ€ NAME πŸŽ€

xcb_randr_set_provider_output_source β€” and that's it. That's the whole description. No little dash-summary, no vibes, just the bare function name staring back at you. Iconic of them honestly.


🌸 SYNOPSIS 🌸

first things first, you gotta pull in the header, no cap:

#include <xcb/randr.h>

πŸ¦‹ Request function πŸ¦‹

here's the function signature, copy it exactly because I am not about to let you typo this:

xcb_void_cookie_t
       xcb_randr_set_provider_output_source(xcb_connection_t *conn,
       xcb_randr_provider_t provider,
       xcb_randr_provider_t source_provider,
       xcb_timestamp_t config_timestamp);

notice the return type? xcb_void_cookie_t. we'll get into why that matters in a sec, hold that thought 🫢


🌈 REQUEST ARGUMENTS 🌈

here's the lil squad of parameters you're passing in:

  • conn β€” your XCB connection to X11. it's giving "the whole reason you're here," the plug, the lifeline, the main character. everything goes through conn.
  • provider β€” TODO: NOT YET DOCUMENTED. yeah. the docs said "we'll get to it" and then never got to it. I'm not making anything up for you, bestie, so this is the tea as-is 😭
  • source_provider β€” TODO: NOT YET DOCUMENTED. same situation. the manpage is gatekeeping and I refuse to invent lore.
  • config_timestamp β€” TODO: NOT YET DOCUMENTED. a xcb_timestamp_t and also a mystery. we simply do not know. πŸ™ˆ
fr fr though β€” I will not be adding invented behaviour here. if the original says not yet documented, then not yet documented it is. periodt.

πŸ’œ DESCRIPTION πŸ’œ

...okay so the DESCRIPTION section? it's empty. like, completely. blank. nothing. not a single word. it's giving "submitted the assignment with just my name on it" πŸ’€

no cap, there is no prose here in the original, so there's no prose for me to rewrite. moving on!


πŸ”₯ RETURN VALUE πŸ”₯

so, the return value. she returns an xcb_void_cookie_t. and because it's a void cookie, any errors (if there are any, which... see the next section πŸ‘€) have to be handled in the event loop. that's the deal. that's the assignment.

but wait β€” if you'd rather handle errors directly, you have an option: use xcb_randr_set_provider_output_source_checked together with xcb_request_check instead. that's the checked version, the one who actually shows up and tells you what went down.

for the full breakdown on how all this request/cookie business works, go read xcb-requests(3). it's the lore. πŸ“š


πŸ’€ ERRORS πŸ’€

This request does never generate any errors.

that's it! that's the whole thing! she's a clean girl, no drama, no error codes, nothing to catch, nothing to handle. the checked version is still there if you want the emotional support, but this request is genuinely just vibing. ✨


πŸ“ SEE ALSO πŸ“

hmm. bestie. there is nothing here. the original page lists the section and then... lists nothing under it. no cross-references, no friends, no xcb-requests(3) link in this spot even though it got name-dropped back in RETURN VALUE. so: no SEE ALSO entries to report. 🫠


πŸ‘‘ AUTHOR πŸ‘‘

this page was Generated from randr.xml β€” yep, auto-generated, which honestly explains a lot about the empty sections. πŸŽ€

if you spot something wrong or wanna suggest corrections or improvements, hit up xcb@lists.freedesktop.org. they're the ones who actually know things.


🧚 cute lil sign-off 🧚

so this was xcb_randr_set...output_source(3) from X Version 11, brought to you by libxcb 1.17.0 β€” that's the source and the version, in case you were wondering where all this came from. date's baked into the footer too, but you get the vibe. πŸ’–

go forth, pass your conn, pass your providers, pass your config_timestamp, and handle those errors in the event loop (or don't, since apparently there aren't any). slay. 🌟