diff lispref/frames.texi @ 56338:fa931ffb96c8

(Input Focus): Add documentation for `select-frame-set-input-focus'. Replace refs to non-existent `switch-frame' with `select-frame'. Minor corrections and tidying up of text-only terminal stuff. From Alan Mackenzie.
author Luc Teirlinck <teirllm@auburn.edu>
date Sun, 04 Jul 2004 18:21:30 +0000
parents c9aa4127a482
children b281f2cb7724 6f6e9fe4658b
line wrap: on
line diff
--- a/lispref/frames.texi	Sun Jul 04 01:03:43 2004 +0000
+++ b/lispref/frames.texi	Sun Jul 04 18:21:30 2004 +0000
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@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
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/frames
@@ -996,19 +996,28 @@
 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 @dfn{shift the focus} to various window objects.  Either
-way, Emacs automatically keeps track of which frame has the focus.
+way, Emacs automatically keeps track of which frame has the focus.  To
+switch to a different frame from a lisp function, call
+@code{select-frame-set-input-focus}.
 
 Lisp programs can also switch frames ``temporarily'' by calling the
 function @code{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 the selected terminal frame is
-actually displayed on the terminal.  @code{switch-frame} is the only way
-to switch frames, and the change lasts until overridden by a subsequent
-call to @code{switch-frame}.  Each terminal screen except for the
-initial one has a number, and the number of the selected frame appears
-in the mode line before the buffer name (@pxref{Mode Line Variables}).
+When using a text-only terminal, only one frame can be displayed at a
+time on the terminal, so @code{select-frame} actually displays the
+newly selected frame.  This frame remains displayed until a subsequent
+call to @code{select-frame} or @code{select-frame-set-input-focus}.
+Each terminal frame has a number which appears in the mode line before
+the buffer name (@pxref{Mode Line Variables}).
+
+@defun select-frame-set-input-focus frame
+This function makes @var{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 new frame gets displayed
+on the entire terminal screen.
+@end defun
 
 @c ??? This is not yet implemented properly.
 @defun select-frame frame