XAnyEvent(3X11) XLIB FUNCTIONS XAnyEvent(3X11)NAME
XAnyEvent, XEvent - generic X event structures
STRUCTURES
All the event structures declared in <X11/Xlib.h> have the
following common members:
typedef struct {
int type;
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;
} XAnyEvent;
The type member 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 applica-
tion, it sends an XGraphicsExposeEvent structure with the
type member set to GraphicsExpose. The display member is
set to a pointer to the display the event was read on.
The send_event member is set to True if the event came
from a SendEvent protocol request. The serial member 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. The window member is set to the window that
is most useful to toolkit dispatchers.
The XEvent structure is a union of the individual struc-
tures declared for each event type:
typedef union _XEvent {
int type; /* must not be changed */
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
X Version 11 Release 6.4 1
XAnyEvent(3X11) XLIB FUNCTIONS XAnyEvent(3X11)
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} XEvent;
An XEvent structure's first entry always is the type mem-
ber, which is set to the event type. The second member
always is the serial number of the protocol request that
generated the event. The third member always is
send_event, which is a Bool that indicates if the event
was sent by a different client. The fourth member always
is a display, which is the display that the event was read
from. Except for keymap events, the fifth member always
is a window, which has been carefully selected to be use-
ful to toolkit dispatchers. To avoid breaking toolkits,
the order of these first five entries is not to change.
Most events also contain a time member, which is the time
at which an event occurred. In addition, a pointer to the
generic event must be cast before it is used to access any
other information in the structure.
SEE ALSOXButtonEvent(3X11), XCreateWindowEvent(3X11), XCircula-
teEvent(3X11), XCirculateRequestEvent(3X11), XCol-
ormapEvent(3X11), XConfigureEvent(3X11), XConfigur-
eRequestEvent(3X11), XCrossingEvent(3X11), XDestroyWindow-
Event(3X11), XErrorEvent(3X11), XExposeEvent(3X11), XFo-
cusChangeEvent(3X11), XGraphicsExposeEvent(3X11), XGravi-
tyEvent(3X11), XKeymapEvent(3X11), XMapEvent(3X11),
XMapRequestEvent(3X11), XPropertyEvent(3X11), XRepar-
entEvent(3X11), XResizeRequestEvent(3X11), XSelection-
ClearEvent(3X11), XSelectionEvent(3X11), XSelectionRe-
questEvent(3X11), XUnmapEvent(3X11), XVisibili-
tyEvent(3X11)
Xlib - C Language X Interface
X Version 11 Release 6.4 2