Next: Event Examples, Previous: Focus Events, Up: Input Events
A few other event types represent occurrences within the system.
(delete-frame (
frame))
The standard definition of the delete-frame
event is to delete frame.
(iconify-frame (
frame))
ignore
; since the
frame has already been iconified, Emacs has no work to do. The purpose
of this event type is so that you can keep track of such events if you
want to.
(make-frame-visible (
frame))
ignore
; since the
frame has already been made visible, Emacs has no work to do.
(wheel-up
position)
(wheel-down
position)
This kind of event is generated only on some kinds of systems. On some
systems, mouse-4
and mouse-5
are used instead. For
portable code, use the variables mouse-wheel-up-event
and
mouse-wheel-down-event
defined in mwheel.el to determine
what event types to expect for the mouse wheel.
(drag-n-drop
position files)
The element position is a list describing the position of the event, in the same format as used in a mouse-click event (see Click Events), and files is the list of file names that were dragged and dropped. The usual way to handle this event is by visiting these files.
This kind of event is generated, at present, only on some kinds of systems.
help-echo
help-echo
text property.
The generated event has this form:
(help-echo frame help window object pos)
The precise meaning of the event parameters and the way these parameters are used to display the help-echo text are described in Text help-echo.
sigusr1
sigusr2
SIGUSR1
and SIGUSR2
. They contain no
additional data because signals do not carry additional information.
They can be useful for debugging (see Error Debugging).
To catch a user signal, bind the corresponding event to an interactive
command in the special-event-map
(see Active Keymaps).
The command is called with no arguments, and the specific signal event is
available in last-input-event
. For example:
(defun sigusr-handler () (interactive) (message "Caught signal %S" last-input-event)) (define-key special-event-map [sigusr1] 'sigusr-handler)
To test the signal handler, you can make Emacs send a signal to itself:
(signal-process (emacs-pid) 'sigusr1)
language-change
(language-change frame codepage language-id)
Here frame is the frame which was current when the input
language changed; codepage is the new codepage number; and
language-id is the numerical ID of the new input language. The
coding-system (see Coding Systems) that corresponds to
codepage is cp
codepage or
windows-
codepage. To convert language-id to a
string (e.g., to use it for various language-dependent features, such
as set-language-environment
), use the
w32-get-locale-info
function, like this:
;; Get the abbreviated language name, such as "ENU" for English (w32-get-locale-info language-id) ;; Get the full English name of the language, ;; such as "English (United States)" (w32-get-locale-info language-id 4097) ;; Get the full localized name of the language (w32-get-locale-info language-id t)
If one of these events arrives in the middle of a key sequence—that is, after a prefix key—then Emacs reorders the events so that this event comes either before or after the multi-event key sequence, not within it.