selection_clear_event, /* Another X client cleared our selection. */
buffer_switch_event, /* A process filter has switched buffers. */
delete_window_event, /* An X client said "delete this window". */
- menu_bar_event, /* An event generated by the menu bar.
+ MENU_BAR_EVENT, /* An event generated by the menu bar.
The frame_or_window field's cdr holds the
Lisp-level event value.
(Only the toolkit version uses these.) */
the filenames of the dropped files.
.timestamp gives a timestamp (in
milliseconds) for the click. */
- user_signal, /* A user signal.
- .code is a number identifying it,
+ USER_SIGNAL_EVENT, /* A user signal.
+ code is a number identifying it,
index into lispy_user_signals. */
- /* Currently only returned when the mouse enters a tool-bar item that
- has a help string. Member frame_or_window of the input_event is
- a cons cell whose car is the tool-bar's frame and whose cdr is the
- help string. */
+ /* Help events. Member `frame_or_window' of the input_event is the
+ frame on which the event occurred, and member `arg' contains
+ the help to show. */
HELP_EVENT,
+ /* An event from a tool-bar. Member `arg' of the input event
+ contains the tool-bar item selected. If `frame_or_window'
+ and `arg' are equal, this is a prefix event. */
TOOL_BAR_EVENT,
/* Queued from XTread_socket on FocusIn events. Translated into
struct input_event
{
-
/* What kind of event was this? */
int kind;
/* This field is last so that struct selection_input_event
does not overlap with it. */
Lisp_Object frame_or_window;
+
+ /* Additional event argument. This is used for TOOL_BAR_EVENTs and
+ HELP_EVENTs and avoids calling Fcons during signal handling. */
+ Lisp_Object arg;
};
/* Called to read input events. */