comparison lispref/frames.texi @ 83171:09bbf2fc80da

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-439 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-440 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-441 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-442 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-443 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-444 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-445 Tweak permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-446 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-211
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 10 Jul 2004 14:37:36 +0000
parents 48a83b7f435a
children dcdd02599cbd
comparison
equal deleted inserted replaced
83170:952f7cc8274d 83171:09bbf2fc80da
1 @c -*-texinfo-*- 1 @c -*-texinfo-*-
2 @c This is part of the GNU Emacs Lisp Reference Manual. 2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002 3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2004
4 @c Free Software Foundation, Inc. 4 @c Free Software Foundation, Inc.
5 @c See the file elisp.texi for copying conditions. 5 @c See the file elisp.texi for copying conditions.
6 @setfilename ../info/frames 6 @setfilename ../info/frames
7 @node Frames, Positions, Windows, Top 7 @node Frames, Positions, Windows, Top
8 @chapter Frames 8 @chapter Frames
994 @end defun 994 @end defun
995 995
996 Some window systems and window managers direct keyboard input to the 996 Some window systems and window managers direct keyboard input to the
997 window object that the mouse is in; others require explicit clicks or 997 window object that the mouse is in; others require explicit clicks or
998 commands to @dfn{shift the focus} to various window objects. Either 998 commands to @dfn{shift the focus} to various window objects. Either
999 way, Emacs automatically keeps track of which frame has the focus. 999 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}.
1000 1002
1001 Lisp programs can also switch frames ``temporarily'' by calling the 1003 Lisp programs can also switch frames ``temporarily'' by calling the
1002 function @code{select-frame}. This does not alter the window system's 1004 function @code{select-frame}. This does not alter the window system's
1003 concept of focus; rather, it escapes from the window manager's control 1005 concept of focus; rather, it escapes from the window manager's control
1004 until that control is somehow reasserted. 1006 until that control is somehow reasserted.
1005 1007
1006 When using a text-only terminal, only the selected terminal frame is 1008 When using a text-only terminal, only one frame can be displayed at a
1007 actually displayed on the terminal. @code{switch-frame} is the only way 1009 time on the terminal, so after a call to @code{select-frame}, the next
1008 to switch frames, and the change lasts until overridden by a subsequent 1010 redisplay actually displays the newly selected frame. This frame
1009 call to @code{switch-frame}. Each terminal screen except for the 1011 remains displayed until a subsequent call to @code{select-frame} or
1010 initial one has a number, and the number of the selected frame appears 1012 @code{select-frame-set-input-focus}. Each terminal frame has a number
1011 in the mode line before the buffer name (@pxref{Mode Line Variables}). 1013 which appears in the mode line before the buffer name (@pxref{Mode
1014 Line Variables}).
1015
1016 @defun select-frame-set-input-focus frame
1017 This function makes @var{frame} the selected frame, raises it (should
1018 it happen to be obscured by other frames) and tries to give it the X
1019 server's focus. On a text-only terminal, the next redisplay displays
1020 the new frame on the entire terminal screen. The return value of this
1021 function is not significant.
1022 @end defun
1012 1023
1013 @c ??? This is not yet implemented properly. 1024 @c ??? This is not yet implemented properly.
1014 @defun select-frame frame 1025 @defun select-frame frame
1015 This function selects frame @var{frame}, temporarily disregarding the 1026 This function selects frame @var{frame}, temporarily disregarding the
1016 focus of the X server if any. The selection of @var{frame} lasts until 1027 focus of the X server if any. The selection of @var{frame} lasts until
1017 the next time the user does something to select a different frame, or 1028 the next time the user does something to select a different frame, or
1018 until the next time this function is called. The specified @var{frame} 1029 until the next time this function is called. The specified @var{frame}
1019 becomes the selected frame, as explained above, and the terminal that 1030 becomes the selected frame, as explained above, and the terminal that
1020 @var{frame} is on becomes the selected terminal. 1031 @var{frame} is on becomes the selected terminal. This function
1032 returns @var{frame}, or @code{nil} if @var{frame} has been deleted.
1021 1033
1022 In general, you should never use @code{select-frame} in a way that could 1034 In general, you should never use @code{select-frame} in a way that could
1023 switch to a different terminal without switching back when you're done. 1035 switch to a different terminal without switching back when you're done.
1024 @end defun 1036 @end defun
1025 1037