blob: 622ec8fd6d61ebdcdaa16b931059c58057113e68 (
plain)
1
2
3
4
5
6
7
8
|
<h4 class="subsection">Focus Events</h4> <p>Window systems provide general ways for the user to control which window gets keyboard input. This choice of window is called the <em>focus</em>. When the user does something to switch between Emacs frames, that generates a <em>focus event</em>. The normal definition of a focus event, in the global keymap, is to select a new frame within Emacs, as the user would expect. See <a href="input-focus">Input Focus</a>, which also describes hooks related to focus events. </p> <p>Focus events are represented in Lisp as lists that look like this: </p> <div class="example"> <pre class="example">(switch-frame <var>new-frame</var>)
</pre>
</div> <p>where <var>new-frame</var> is the frame switched to. </p> <p>Some X window managers are set up so that just moving the mouse into a window is enough to set the focus there. Usually, there is no need for a Lisp program to know about the focus change until some other kind of input arrives. Emacs generates a focus event only when the user actually types a keyboard key or presses a mouse button in the new frame; just moving the mouse between frames does not generate a focus event. </p> <p>A focus event in the middle of a key sequence would garble the sequence. So Emacs never generates a focus event in the middle of a key sequence. If the user changes focus in the middle of a key sequence—that is, after a prefix key—then Emacs reorders the events so that the focus event comes either before or after the multi-event key sequence, and not within it. </p><div class="_attribution">
<p class="_attribution-p">
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
<a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Focus-Events.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Focus-Events.html</a>
</p>
</div>
|