XMapEvent(3)
π NAME π
okay bestie, welcome to the XMapEvent(3) page from the XLIB FUNCTIONS manual β¨
XMapEvent, XMappingEvent β the MapNotify and MappingNotify event structures. that's the whole name vibe π
β¨ STRUCTURES β¨
π the MapNotify structure π
the structure for MapNotify events contains:
typedef struct {
int type; /* MapNotify */
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;
Bool override_redirect; /* boolean, is override set... */
} XMapEvent;
when you receive this event, the structure members are set as follows:
type is set to the event type constant name that uniquely identifies it. for example, when the X server reports a GraphicsExpose event to a client application, it sends an XGraphicsExposeEvent structure with type set to GraphicsExpose. display is set to a pointer to the display the event was read on. send_event is set to True if the event came from a SendEvent protocol request. serial is set from the serial number reported in the protocol, but expanded from the 16-bit least-significant bits to a full 32-bit value. window is set to the window that is most useful to toolkit dispatchers.
event is set either to the window that was mapped or to its parent, depending on whether StructureNotify or SubstructureNotify was selected. window is set to the window that was mapped. override_redirect is set to the override-redirect attribute of the window.
β οΈ window manager clients normally should ignore this window if the override-redirect attribute is True, because these events usually are generated from pop-ups, which override structure control. like, that's the rule, bestie π
π¦ the MappingNotify structure π¦
the structure for MappingNotify events is:
typedef struct {
int type; /* MappingNotify */
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 window; /* unused */
int request; /* one of MappingModifier, MappingKeyboard,
MappingPointer */
int first_keycode; /* first keycode */
int count; /* defines range of change with first_keycode*/
} XMappingEvent;
when you receive this event, the structure members are set as follows:
same common-member rundown as above, because the page says it again and I'm keeping every crumb: type is set to the event type constant name that uniquely identifies it. for example, when the X server reports a GraphicsExpose event to a client application, it sends an XGraphicsExposeEvent structure with type set to GraphicsExpose. display is set to a pointer to the display the event was read on. send_event is set to True if the event came from a SendEvent protocol request. serial is set from the serial number reported in the protocol, but expanded from the 16-bit least-significant bits to a full 32-bit value. window is set to the window that is most useful to toolkit dispatchers.
request is set to indicate the kind of mapping change that occurred, and it can be MappingModifier, MappingKeyboard, MappingPointer. if it is MappingModifier, the modifier mapping was changed. if it is MappingKeyboard, the keyboard mapping was changed. if it is MappingPointer, the pointer button mapping was changed. first_keycode and count are set only if request was set to MappingKeyboard. the number in first_keycode represents the first number in the range of the altered mapping, and count represents the number of keycodes altered. periodt π
π SEE ALSO π
XAnyEvent(3)XButtonEvent(3)XCreateWindowEvent(3)XCirculateEvent(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)XMapRequestEvent(3)XPropertyEvent(3)XReparentEvent(3)XResizeRequestEvent(3)XSelectionClearEvent(3)XSelectionEvent(3)XSelectionRequestEvent(3)XUnmapEvent(3)XVisibilityEvent(3)Xlib - C Language X Interface
π okay that's the whole page, bestie β signed off with X Version 11 and libX11 1.8.14. no cap, go read your events πβ¨π
π¦ 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