[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
At any time, one frame in Emacs is the selected frame. The selected window always resides on the selected frame.
When Emacs displays its frames on several terminals (voir la section Multiple Displays), each terminal has its own selected frame. But only one of these is “the selected frame”: it's the frame that belongs to the terminal from which the most recent input came. That is, when Emacs runs a command that came from a certain terminal, the selected frame is the one of that terminal. Since Emacs runs only a single command at any given time, it needs to consider only one selected frame at a time; this frame is what we call the selected frame in this manual. The display on which the selected frame is displayed is the selected frame's display.
This function returns the selected frame.
Some window systems and window managers direct keyboard input to the window
object that the mouse is in; others require explicit clicks or commands to
shift the focus to various window objects. Either way, Emacs
automatically keeps track of which frame has the focus. To switch to a
different frame from a Lisp function, call
select-frame-set-input-focus
.
Lisp programs can also switch frames “temporarily” by calling the function
select-frame
. This does not alter the window system's concept of
focus; rather, it escapes from the window manager's control until that
control is somehow reasserted.
When using a text-only terminal, only one frame can be displayed at a time
on the terminal, so after a call to select-frame
, the next redisplay
actually displays the newly selected frame. This frame remains selected
until a subsequent call to select-frame
or
select-frame-set-input-focus
. Each terminal frame has a number which
appears in the mode line before the buffer name (voir la section Variables Used in the Mode Line).
This function makes frame the selected frame, raises it (should it happen to be obscured by other frames) and tries to give it the X server's focus. On a text-only terminal, the next redisplay displays the new frame on the entire terminal screen. The return value of this function is not significant.
This function selects frame frame, temporarily disregarding the focus
of the X server if any. The selection of frame lasts until the next
time the user does something to select a different frame, or until the next
time this function is called. (If you are using a window system, the
previously selected frame may be restored as the selected frame after return
to the command loop, because it still may have the window system's input
focus.) The specified frame becomes the selected frame, as explained
above, and the terminal that frame is on becomes the selected
terminal. This function returns frame, or nil
if frame
has been deleted.
In general, you should never use select-frame
in a way that could
switch to a different terminal without switching back when you're done.
Emacs cooperates with the window system by arranging to select frames as the
server and window manager request. It does so by generating a special kind
of input event, called a focus event, when appropriate. The command
loop handles a focus event by calling handle-switch-frame
.
Voir la section Focus Events.
This function handles a focus event by selecting frame frame.
Focus events normally do their job by invoking this command. Don't call it for any other reason.
This function redirects focus from frame to focus-frame. This
means that focus-frame will receive subsequent keystrokes and events
intended for frame. After such an event, the value of
last-event-frame
will be focus-frame. Also, switch-frame
events specifying frame will instead select focus-frame.
If focus-frame is omitted or nil
, that cancels any existing
redirection for frame, which therefore once again receives its own
events.
One use of focus redirection is for frames that don't have minibuffers. These frames use minibuffers on other frames. Activating a minibuffer on another frame redirects focus to that frame. This puts the focus on the minibuffer's frame, where it belongs, even though the mouse remains in the frame that activated the minibuffer.
Selecting a frame can also change focus redirections. Selecting frame
bar
, when foo
had been selected, changes any redirections
pointing to foo
so that they point to bar
instead. This
allows focus redirection to work properly when the user switches from one
frame to another using select-window
.
This means that a frame whose focus is redirected to itself is treated
differently from a frame whose focus is not redirected. select-frame
affects the former but not the latter.
The redirection lasts until redirect-frame-focus
is called to change
it.
This option is how you inform Emacs whether the window manager transfers
focus when the user moves the mouse. Non-nil
says that it does.
When this is so, the command other-frame
moves the mouse to a
position consistent with the new selected frame. (This option has no effect
on MS-Windows, where the mouse pointer is always automatically moved by the
OS to the selected frame.)
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.