xcb_list_properties(3)
π xcb_list_properties β bestie edition π
okay so. this is a page from section 3 of the manual, it's called xcb_list_properties, and it lives in the XCB family of requests (XCB Requests, if we're being formal, which we are not). it's the request that asks the X11 server "hey girl, what properties does this window have?" and it's about to be your new obsession. no cap.
πΈ NAME πΈ
xcb_list_properties -
and that's it. that's the whole NAME section. it's giving minimalism. it's giving "i woke up and chose silence." we move. π
β¨ SYNOPSIS β¨
first things first, you gotta bring in the header:
#include <xcb/xproto.h>
π¦ Request function π¦
this is the one that kicks it all off:
xcb_list_properties_cookie_t xcb_list_properties(xcb_connection_t *conn,
xcb_window_t window);
π Reply datastructure π
and this is the little struct that comes back at you:
typedef struct xcb_list_properties_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint16_t atoms_len;
uint8_t pad1[22];
} xcb_list_properties_reply_t;
π Reply function π
grab your actual reply with this:
xcb_list_properties_reply_t
*xcb_list_properties_reply(xcb_connection_t *conn,
xcb_list_properties_cookie_t cookie, xcb_generic_error_t **e);
π«Ά Reply accessors π«Ά
and these three are the little helpers that dig the atoms out of the reply for you:
xcb_atom_t *xcb_list_properties_atoms(const
xcb_list_properties_request_t *reply);
int xcb_list_properties_atoms_length(const xcb_list_properties_reply_t
*reply);
xcb_generic_iterator_t xcb_list_properties_atoms_end(const
xcb_list_properties_reply_t *reply);
π REQUEST ARGUMENTS π
connβ your XCB connection to X11, aka your direct line to the server. πwindowβ TODO: NOT YET DOCUMENTED. yeah bestie, that's literally what it says. the docs simply did not show up to the function. we're all just out here living our truth. π
π REPLY FIELDS π
response_typeβ the type of this reply, and in this case it'sXCB_LIST_PROPERTIES. plot twist: this field is also hanging out in thexcb_generic_reply_t, so you can use it to tell replies apart from each other. very "same energy, different font." π₯sequenceβ the sequence number of the last request the X11 server processed. it's the receipt number of the server world. π§Ύlengthβ how long the reply is, in words. and bestie, a word here is 4 bytes. don't forget it, i'm not repeating myself (i will absolutely repeat myself). β¨atoms_lenβ TODO: NOT YET DOCUMENTED. again. the mystery continues. π
π DESCRIPTION π
...it's empty. there is no description. the description section is a blank canvas and honestly? main character energy. we respect the privacy of the description. π
β RETURN VALUE β
it hands you back an xcb_list_properties_cookie_t. cute little cookie. πͺ
but listen β errors have to be handled when you call the reply function xcb_list_properties_reply. that's the moment of truth.
and if you'd rather handle your errors in the event loop instead, use xcb_list_properties_unchecked. if you want the full tea on how that works, go read xcb-requests(3) for details. iykyk. π
π¨ ERRORS π¨
this request does never generate any errors. never ever. zero. none. a perfect flawless angel request with no drama whatsoever. slay. π
π SEE ALSO π
(empty. nothing to see here. literally. the SEE ALSO section said "and that's on periodt" and left. πΈ)
π§ AUTHOR π§
Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.
and that's the whole page, bestie. you ate. π β¨
this little gem ships with X Version 11, libxcb 1.17.0, and it answers to the name xcb_list_properties(3). go forth and list those properties. π¦ππ
π¦ 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