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;

       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(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                          1