Next: A SERVE-EVENT Example, Previous: Using SERVE-EVENT with Unix File Descriptors, Up: Event Dispatching with SERVE-EVENT [Contents][Index]
Remember from section object-sets, an object set is a collection of objects, CLX windows in this case, with some set of operations, event keywords, with corresponding implementations, the same handler functions. Since X allows multiple display connections from a given process, you can avoid using object sets if every window in an application or display connection behaves the same. If a particular X application on a single display connection has windows that want to handle certain events differently, then using object sets is a convenient way to organize this since you need some way to map the window/event combination to the appropriate functionality.
The following is a discussion of functions exported from the extensions
package that facilitate handling CLX events through system:serve-event
.
The first two routines are useful regardless of whether you use
system:serve-event
:
&optional
string ¶This function parses string for an X display specification including display and screen numbers. String defaults to the following:
(cdr (assoc :display ext:*environment-list* :test #'eq))
If any field in the display specification is missing, this signals
an error. ext:open-clx-display
returns the CLX display and
screen.
This function flushes all the events in display’s event queue including the current event, in case the user calls this from within an event handler.
Next: A SERVE-EVENT Example, Previous: Using SERVE-EVENT with Unix File Descriptors, Up: Event Dispatching with SERVE-EVENT [Contents][Index]