XAnyEvent(3X11)

XAnyEvent(3X11)

XErrorEvent Home Page Subroutines Index XEventsQueued


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

XErrorEvent Home Page Subroutines Index XEventsQueued