1 |
@c -*-texinfo-*- |
@c -*-texinfo-*- |
2 |
@c This is part of the GNU Emacs Lisp Reference Manual. |
@c This is part of the GNU Emacs Lisp Reference Manual. |
3 |
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002 |
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2004 |
4 |
@c Free Software Foundation, Inc. |
@c Free Software Foundation, Inc. |
5 |
@c See the file elisp.texi for copying conditions. |
@c See the file elisp.texi for copying conditions. |
6 |
@setfilename ../info/frames |
@setfilename ../info/frames |
996 |
Some window systems and window managers direct keyboard input to the |
Some window systems and window managers direct keyboard input to the |
997 |
window object that the mouse is in; others require explicit clicks or |
window object that the mouse is in; others require explicit clicks or |
998 |
commands to @dfn{shift the focus} to various window objects. Either |
commands to @dfn{shift the focus} to various window objects. Either |
999 |
way, Emacs automatically keeps track of which frame has the focus. |
way, Emacs automatically keeps track of which frame has the focus. To |
1000 |
|
switch to a different frame from a lisp function, call |
1001 |
|
@code{select-frame-set-input-focus}. |
1002 |
|
|
1003 |
Lisp programs can also switch frames ``temporarily'' by calling the |
Lisp programs can also switch frames ``temporarily'' by calling the |
1004 |
function @code{select-frame}. This does not alter the window system's |
function @code{select-frame}. This does not alter the window system's |
1005 |
concept of focus; rather, it escapes from the window manager's control |
concept of focus; rather, it escapes from the window manager's control |
1006 |
until that control is somehow reasserted. |
until that control is somehow reasserted. |
1007 |
|
|
1008 |
When using a text-only terminal, only the selected terminal frame is |
When using a text-only terminal, only one frame can be displayed at a |
1009 |
actually displayed on the terminal. @code{switch-frame} is the only way |
time on the terminal, so @code{select-frame} actually displays the |
1010 |
to switch frames, and the change lasts until overridden by a subsequent |
newly selected frame. This frame remains displayed until a subsequent |
1011 |
call to @code{switch-frame}. Each terminal screen except for the |
call to @code{select-frame} or @code{select-frame-set-input-focus}. |
1012 |
initial one has a number, and the number of the selected frame appears |
Each terminal frame has a number which appears in the mode line before |
1013 |
in the mode line before the buffer name (@pxref{Mode Line Variables}). |
the buffer name (@pxref{Mode Line Variables}). |
1014 |
|
|
1015 |
|
@defun select-frame-set-input-focus frame |
1016 |
|
This function makes @var{frame} the selected frame, raises it (should |
1017 |
|
it happen to be obscured by other frames) and tries to give it the X |
1018 |
|
server's focus. On a text-only terminal, the new frame gets displayed |
1019 |
|
on the entire terminal screen. |
1020 |
|
@end defun |
1021 |
|
|
1022 |
@c ??? This is not yet implemented properly. |
@c ??? This is not yet implemented properly. |
1023 |
@defun select-frame frame |
@defun select-frame frame |