XEvent


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; 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 ALSO

XButtonEvent(3), XCreateWindowEvent(3), XCircula- teEvent(3), XCirculateRequestEvent(3), XCol- ormapEvent(3), XConfigureEvent(3), XConfigur- eRequestEvent(3), XCrossingEvent(3), XDestroyWindow- Event(3), XErrorEvent(3), XExposeEvent(3), XFo- cusChangeEvent(3), XGraphicsExposeEvent(3), XGravi- tyEvent(3), XKeymapEvent(3), XMapEvent(3), XMapRequestEvent(3), XPropertyEvent(3), XRepar- entEvent(3), XResizeRequestEvent(3), XSelection- ClearEvent(3), XSelectionEvent(3), XSelectionRe- questEvent(3), XUnmapEvent(3), XVisibili- tyEvent(3) Xlib - C Language X Interface

Man(1) output converted with man2html