XNextEvent(), XPeekEvent(), XWindowEvent(), XCheckWindowEvent(), XMaskEvent(), XCheckMaskEvent(), XCheckTypedEvent(), XCheckTypedWindowEvent() - select events by type
XNextEvent (Display *display, XEvent *event_return)
XPeekEvent (Display *display, XEvent *event_return)
XWindowEvent (Display *display, Window w, long event_mask,
XEvent *event_return)
Bool XCheckWindowEvent (Display *display, Window w,
long event_mask, XEvent *event_return)
XMaskEvent (Display *display, long event_mask,
XEvent *event_return)
Bool XCheckMaskEvent (Display *display, long event_mask,
XEvent *event_return)
Bool XCheckTypedEvent (Display *display, int event_type,
XEvent *event_return)
Bool XCheckTypedWindowEvent (Display *display, Window w,
int event_type, XEvent *event_return)
The XNextEvent(3) function copies the first event from the event queue into the specified XEvent structure and then removes it from the queue. If the event queue is empty, XNextEvent(3) flushes the output buffer and blocks until an event is received.
The XPeekEvent(3) function returns the first event from the event queue, but it does not remove the event from the queue. If the queue is empty, XPeekEvent(3) flushes the output buffer and blocks until an event is received. It then copies the event into the client-supplied XEvent structure without removing it from the event queue.
The XWindowEvent(3) function searches the event queue for an event that matches both the specified window and event mask. When it finds a match, XWindowEvent(3) removes that event from the queue and copies it into the specified XEvent structure. The other events stored in the queue are not discarded. If a matching event is not in the queue, XWindowEvent flushes the output buffer and blocks until one is received.
The XCheckWindowEvent(3) function searches the event queue and then the events available on the server connection for the first event that matches the specified window and event mask. If it finds a match, XCheckWindowEvent(3) removes that event, copies it into the specified XEvent structure, and returns True. The other events stored in the queue are not discarded. If the event you requested is not available, XCheckWindowEvent(3) returns False, and the output buffer will have been flushed.
The XMaskEvent(3) function searches the event queue for the events associated with the specified mask. When it finds a match, XMaskEvent(3) removes that event and copies it into the specified XEvent structure. The other events stored in the queue are not discarded. If the event you requested is not in the queue, XMaskEvent(3) flushes the output buffer and blocks until one is received.
The XCheckMaskEvent(3) function searches the event queue and then any events available on the server connection for the first event that matches the specified mask. If it finds a match, XCheckMaskEvent(3) removes that event, copies it into the specified XEvent structure, and returns True. The other events stored in the queue are not discarded. If the event you requested is not available, XCheckMaskEvent(3) returns False, and the output buffer will have been flushed.
The XCheckTypedEvent(3) function searches the event queue and then any events available on the server connection for the first event that matches the specified type. If it finds a match, XCheckTypedEvent(3) removes that event, copies it into the specified XEvent structure, and returns True. The other events in the queue are not discarded. If the event is not available, XCheckTypedEvent(3) returns False, and the output buffer will have been flushed.
The XCheckTypedWindowEvent(3) function searches the event queue and then any events available on the server connection for the first event that matches the specified type and window. If it finds a match, XCheckTypedWindowEvent(3) removes the event from the queue, copies it into the specified XEvent structure, and returns True. The other events in the queue are not discarded. If the event is not available, XCheckTypedWindowEvent(3) returns False, and the output buffer will have been flushed.
XIfEvent()
Xlib