xcb_expose_event_t(3)
π xcb_expose_event_t(3) β an XCB Events moment β¨
okay so bestie, we're in the XCB Events corner of the manual, and today's main character is xcb_expose_event_t. she's giving "your window got damaged and the server is telling you to repaint, bestie". π
β¨ NAME β¨
xcb_expose_event_t β NOT YET DOCUMENTED</p> π (yeah that's literally what it says, no cap)
π¦ SYNOPSIS π¦
#include <xcb/xproto.h>
π Event datastructure π
typedef struct xcb_expose_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
uint16_t x;
uint16_t y;
uint16_t width;
uint16_t height;
uint16_t count;
uint8_t pad1[2];
} xcb_expose_event_t;
look at her. struct queen. π
πΈ EVENT FIELDS πΈ
response_typeβ the type of this event, which in this case isXCB_EXPOSE. plot twist: this field is also chillin' inside thexcb_generic_event_t, so you can use it to tell your events apart from each other. vibe check passed. β¨sequenceβ the sequence number of the last request that the X11 server actually processed. it's the receipts. π§Ύwindowβ the exposed (damaged) window. she's the one going through it rn. πxβ the X coordinate of the left-upper corner of the exposed rectangle, relative to the window's origin. πyβ the Y coordinate of the left-upper corner of the exposed rectangle, relative to the window's origin. πwidthβ the width of the exposed rectangle. πheightβ the height of the exposed rectangle. πcountβ the amount of Expose events following this one. and here's the lowkey life hack: simple applications that do not want to optimize redisplay by distinguishing between subareas of its window can just ignore all Expose events with nonzero counts and perform full redisplays on events with zero counts. so ifcountis 0, that's your cue to do the whole thing. slay. π
π DESCRIPTION π
...it's empty bestie. genuinely nothing here. the DESCRIPTION section said "no thoughts, head empty" and walked off. we move. π«Ά
β SEE ALSO β
xcb_generic_event_t(3)β go read that one too, she's the blueprint. π
π AUTHOR π
Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. fr fr, they wanna hear from you if something's off. π
no notes, just respect. this page isX Version 11,libxcb 1.17.0, and it's iconic for that alone. πβ¨ bye bestie, go repaint your windows π
π¦ 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