XCirculateEvent(3)
hiii bestie π welcome to XCirculateEvent(3), straight outta the XLIB FUNCTIONS shelf. this is the CirculateNotify event structure and she's lowkey iconic.
πΈ NAME πΈ
XCirculateEvent β the CirculateNotify event structure. that's the whole name, no cap.
π¦ STRUCTURES π¦
the structure for CirculateNotify events contains:
typedef struct {
int type; /* CirculateNotify */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
int place; /* PlaceOnTop, PlaceOnBottom */
} XCirculateEvent;
when you receive this event, the structure members are set as follows. yes, every single one β grab a snack π
typeβ set to the event type constant name that uniquely identifies it. for example, when the X server reports aGraphicsExposeevent to a client application, it sends anXGraphicsExposeEventstructure with thetypemember set toGraphicsExpose. iykyk.displayβ set to a pointer to the display the event was read on. pointer main character energy.send_eventβ set toTrueif the event came from aSendEventprotocol request.serialβ set from the serial number reported in the protocol, but expanded from the 16-bit least-significant bits to a full 32-bit value. the glow-up is real.windowβ set to the window that is most useful to toolkit dispatchers.
okay and now the circulate-specific tea π«: the event member is set either to the restacked window or to its parent, depending on whether StructureNotify or SubstructureNotify was selected. the window member is set to the window that was restacked. the place member is set to the window's position after the restack occurs, and it's either PlaceOnTop or PlaceOnBottom. if it's PlaceOnTop, the window is now on top of all siblings. if it's PlaceOnBottom, the window is now below all siblings. sibling hierarchy drama, but make it protocol β¨.
π SEE ALSO π
go read these next, bestie β they're all part of the Xlib event-structure cinematic universe:
XAnyEvent(3)XButtonEvent(3)XCreateWindowEvent(3)XCirculateRequestEvent(3)XColormapEvent(3)XConfigureEvent(3)XConfigureRequestEvent(3)XCrossingEvent(3)XDestroyWindowEvent(3)XErrorEvent(3)XExposeEvent(3)XFocusChangeEvent(3)XGraphicsExposeEvent(3)XGravityEvent(3)XKeymapEvent(3)XMapEvent(3)XMapRequestEvent(3)XPropertyEvent(3)XReparentEvent(3)XResizeRequestEvent(3)XSelectionClearEvent(3)XSelectionEvent(3)XSelectionRequestEvent(3)XUnmapEvent(3)XVisibilityEvent(3)- Xlib - C Language X Interface
mwah π β source/version check: X Version 11, libX11 1.8.14, page XCirculateEvent(3). that's the footer, and we're out ππ¦π
π¦ where this page comes from
- alpine 3.24: libx11-doc 1.8.14-r0 Β· X11
- arch rolling: libx11 1.8.14-1 Β· MIT AND X11
- nixos 26.05: libx11 1.8.14
- nixpkgs unstable: libx11 1.8.14
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms