xcb_composite_query_version(3)
๐ xcb_composite_query_version โ bestie, let's negotiate ๐
okay so this is xcb_composite_query_version(3), from the XCB Requests fam, and it's literally the vibe-check you do before you talk to the Composite extension. you show up, you say "hey what version are we on", and the server tells you. that's the whole plot. ๐
โจ NAME โจ
xcb_composite_query_version โ Negotiate the version of Composite
โจ SYNOPSIS โจ
#include <xcb/composite.h>
๐ฆ Request function
xcb_composite_query_version_cookie_t
xcb_composite_query_version(xcb_connection_t *conn,
uint32_t client_major_version, uint32_t client_minor_version);
๐ฆ Reply datastructure
typedef struct xcb_composite_query_version_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint32_t major_version;
uint32_t minor_version;
uint8_t pad1[16];
} xcb_composite_query_version_reply_t;
๐ฆ Reply function
xcb_composite_query_version_reply_t
*xcb_composite_query_version_reply(xcb_connection_t *conn,
xcb_composite_query_version_cookie_t cookie,
xcb_generic_error_t **e);
๐ธ REQUEST ARGUMENTS ๐ธ
connโ your XCB connection to X11, the group chat you're posting in. ๐ฌclient_major_versionโ the major version your client supports. this is you stating your terms, bestie.client_minor_versionโ the minor version your client supports. the little number riding along with the big one. โจ
๐ซถ REPLY FIELDS ๐ซถ
response_typeโ what kind of reply this is, and in this case it'sXCB_COMPOSITE_QUERY_VERSION. this field also lives inxcb_generic_reply_t, so it's the thing that lets you tell replies apart from each other. it's giving name tag at a party. ๐ท๏ธsequenceโ the sequence number of the last request the X11 server actually got around to processing. ๐lengthโ how long the reply is, measured in words. and no, not vibes-words โ a word here is4bytes. ๐งฎmajor_versionโ the major version the server chose. the server has opinions and this is them.minor_versionโ the minor version the server chose. the sequel number. ๐
๐ DESCRIPTION ๐
This negotiates the version of the Composite extension. that's the whole job, no notes.
โ ๏ธ no cap, this part matters: it must precede all other requests using Composite. like, all of them. Failure to do so will cause a BadRequest error. so do the handshake first or the server WILL be petty about it. ๐
๐ฅ RETURN VALUE ๐ฅ
It returns an xcb_composite_query_version_cookie_t. Errors have to be handled when calling the reply function xcb_composite_query_version_reply.
If you'd rather handle errors in the event loop instead, use xcb_composite_query_version_unchecked. See xcb-requests(3) for details. pick your fighter, both are valid. โจ
๐ญ ERRORS ๐ญ
This request does never generate any errors. iconic behaviour honestly, zero drama, we love a clean request. ๐
๐ SEE ALSO ๐
๐ง AUTHOR ๐ง
Generated from composite.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. so if something's off, that's the inbox, go be helpful. ๐ซถ
and that's the whole page, bestie!! this one shipped with X Version 11, libxcb 1.17.0, and it answers to xcb_composite_query_version(3) โ go forth, negotiate your versions, and slay ๐
โจ๐
๐ฆ 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