2.5 Introduction to Events
This section provides a brief introduction to events. You will need this knowledge to fully understand Chapter 3, and some of the window attributes described in Chapter 4. Events are covered completely in Chapter 8, and Chapter 9.
2.5.1 What is an Event?
Moving the pointer or pressing a keyboard key causes an input event to occur. These are two of the simplest and most common event types, but there are many others. An event is a packet of information that is generated by the server when certain actions occur and is queued for later use by the client. The queued events can be read at any subsequent time in any order, but they are usually read and processed in the order in which they occurred.
Here are some other sorts of events:
Mouse (or other pointer) button pressed or released. (
Window mapped or unmapped. (
Mouse crossing a window boundary. (
These event types are usually used for user input and to control a user interface.
A second group of events reports side effects of window
operations. For example, when a window becomes visible after being
obscured, it receives an
Expose event. When window
gravity (a window attribute that controls the position of a window
when the parent is resized) takes effect, a
GravityNotify event is generated.
A third purpose of events is to allow various clients to communicate with each other and with the window manager. The events that report the following ...