comparison man/lispref/frames.texi @ 54:05472e90ae02 r19-16-pre2

Import from CVS: tag r19-16-pre2
author cvs
date Mon, 13 Aug 2007 08:57:55 +0200
parents ac2d302a0011
children 7df0dd720c89
comparison
equal deleted inserted replaced
53:875393c1a535 54:05472e90ae02
7 @node Frames, Consoles and Devices, Windows, Top 7 @node Frames, Consoles and Devices, Windows, Top
8 @chapter Frames 8 @chapter Frames
9 @cindex frame 9 @cindex frame
10 10
11 A @var{frame} is a rectangle on the screen that contains one or more 11 A @var{frame} is a rectangle on the screen that contains one or more
12 Emacs windows. A frame initially contains a single main window (plus 12 XEmacs windows. A frame initially contains a single main window (plus
13 perhaps a minibuffer window), which you can subdivide vertically or 13 perhaps a minibuffer window), which you can subdivide vertically or
14 horizontally into smaller windows. 14 horizontally into smaller windows.
15 15
16 @cindex terminal frame 16 @cindex terminal frame
17 @cindex X window frame 17 @cindex X window frame
29 @code{nil} otherwise. 29 @code{nil} otherwise.
30 @end defun 30 @end defun
31 31
32 @menu 32 @menu
33 * Creating Frames:: Creating additional frames. 33 * Creating Frames:: Creating additional frames.
34 * Frame Parameters:: Controlling frame size, position, font, etc. 34 * Frame Properties:: Controlling frame size, position, font, etc.
35 * Frame Titles:: Automatic updating of frame titles. 35 * Frame Titles:: Automatic updating of frame titles.
36 * Deleting Frames:: Frames last until explicitly deleted. 36 * Deleting Frames:: Frames last until explicitly deleted.
37 * Finding All Frames:: How to examine all existing frames. 37 * Finding All Frames:: How to examine all existing frames.
38 * Frames and Windows:: A frame contains windows; 38 * Frames and Windows:: A frame contains windows;
39 display of text always works through windows. 39 display of text always works through windows.
51 @node Creating Frames 51 @node Creating Frames
52 @section Creating Frames 52 @section Creating Frames
53 53
54 To create a new frame, call the function @code{make-frame}. 54 To create a new frame, call the function @code{make-frame}.
55 55
56 @defun make-frame &optional alist device 56 @defun make-frame &optional props device
57 This function creates a new frame on @var{device}, if @var{device} 57 This function creates a new frame on @var{device}, if @var{device}
58 permits creation of frames. (An X server does; an ordinary terminal 58 permits creation of frames. (An X server does; an ordinary terminal
59 does not.) @var{device} defaults to the selected device if omitted. 59 does not (yet).) @var{device} defaults to the selected device if omitted.
60 @xref{Consoles and Devices}. 60 @xref{Consoles and Devices}.
61 61
62 The argument is an alist specifying frame parameters. Any parameters 62 The argument @var{props} is a property list (a list of alternating
63 not mentioned in @var{alist} default according to the value of the 63 keyword-value specifications) of properties for the new frame. (An alist
64 variable @code{default-frame-alist}. For X devices, parameters not 64 is accepted for backward compatibility but should not be passed in.) Any
65 specified in @code{default-frame-alist} default in turn from 65 properties not mentioned in @var{props} default according to the value
66 @code{default-x-frame-alist} and, if not specified there, from the X 66 of the variable @code{default-frame-plist}. For X devices, properties
67 resources. For TTY devices, @code{default-tty-frame-alist} is 67 not specified in @code{default-frame-plist} default in turn from
68 consulted as well as @code{default-frame-alist}. 68 @code{default-x-frame-plist} and, if not specified there, from the X
69 69 resources. For TTY devices, @code{default-tty-frame-plist} is consulted
70 The set of possible parameters depends in principle on what kind of 70 as well as @code{default-frame-plist}.
71
72 The set of possible properties depends in principle on what kind of
71 window system XEmacs uses to display its frames. @xref{X Frame 73 window system XEmacs uses to display its frames. @xref{X Frame
72 Parameters}, for documentation of individual parameters you can specify 74 Properties}, for documentation of individual properties you can specify
73 when creating an X window frame. 75 when creating an X window frame.
74 @end defun 76 @end defun
75 77
76 @node Frame Parameters 78 @node Frame Properties
77 @section Frame Parameters 79 @section Frame Properties
78 80
79 A frame has many parameters that control its appearance and behavior. 81 A frame has many properties that control its appearance and behavior.
80 Just what parameters a frame has depends on what display mechanism it 82 Just what properties a frame has depends on which display mechanism it
81 uses. 83 uses.
82 84
83 Frame parameters exist for the sake of window systems. A terminal frame 85 Frame properties exist for the sake of window systems. A terminal frame
84 has a few parameters, mostly for compatibility's sake; only the height, 86 has few properties, mostly for compatibility's sake; only the height,
85 width and @code{buffer-predicate} parameters really do something. 87 width and @code{buffer-predicate} properties really do something.
86 88
87 @menu 89 @menu
88 * Parameter Access:: How to change a frame's parameters. 90 * Property Access:: How to change a frame's properties.
89 * Initial Parameters:: Specifying frame parameters when you make a frame. 91 * Initial Properties:: Specifying frame properties when you make a frame.
90 * X Frame Parameters:: List of frame parameters. 92 * X Frame Properties:: List of frame properties.
91 * Size and Position:: Changing the size and position of a frame. 93 * Size and Position:: Changing the size and position of a frame.
92 * Frame Name:: The name of a frame (as opposed to its title). 94 * Frame Name:: The name of a frame (as opposed to its title).
93 @end menu 95 @end menu
94 96
95 @node Parameter Access 97 @node Property Access
96 @subsection Access to Frame Parameters 98 @subsection Access to Frame Properties
97 99
98 These functions let you read and change the parameter values of a 100 These functions let you read and change the properties of a frame.
99 frame. 101
100 102 @defun frame-properties &optional frame
101 @defun frame-parameters frame 103 This function returns a plist listing all the properties of @var{frame}
102 The function @code{frame-parameters} returns an alist listing all the 104 and their values.
103 parameters of @var{frame} and their values. 105 @end defun
104 @end defun 106
105 107 @defun frame-property frame property &optional default
106 @defun modify-frame-parameters frame alist 108 This function returns @var{frame}'s value for the property
107 This function alters the parameters of frame @var{frame} based on the 109 @var{property}.
108 elements of @var{alist}. Each element of @var{alist} has the form 110 @end defun
109 @code{(@var{parm} . @var{value})}, where @var{parm} is a symbol naming a 111
110 parameter. If you don't mention a parameter in @var{alist}, its value 112 @defun set-frame-properties frame plist
111 doesn't change. 113 This function alters the properties of frame @var{frame} based on the
112 @end defun 114 elements of property list @var{plist}. If you don't mention a property
113 115 in @var{plist}, its value doesn't change.
114 @node Initial Parameters 116 @end defun
115 @subsection Initial Frame Parameters 117
116 118 @defun set-frame-property frame prop val
117 You can specify the parameters for the initial startup frame 119 This function sets the property @var{prop} of frame @var{frame} to the
118 by setting @code{initial-frame-alist} in your @file{.emacs} file. 120 value @var{val}.
119 121 @end defun
120 @defvar initial-frame-alist 122
121 This variable's value is an alist of parameter values used when creating 123 @node Initial Properties
122 the initial X window frame. Each element has the form: 124 @subsection Initial Frame Properties
123 125
124 @example 126 You can specify the properties for the initial startup frame by setting
125 (@var{parameter} . @var{value}) 127 @code{initial-frame-plist} in your @file{.emacs} file.
126 @end example 128
127 129 @defvar initial-frame-plist
128 Emacs creates the initial frame before it reads your @file{~/.emacs} 130 This variable's value is a plist of alternating property-value pairs
129 file. After reading that file, Emacs checks @code{initial-frame-alist}, 131 used when creating the initial X window frame.
130 and applies the parameter settings in the altered value to the already 132
133 XEmacs creates the initial frame before it reads your @file{~/.emacs}
134 file. After reading that file, XEmacs checks @code{initial-frame-plist},
135 and applies the property settings in the altered value to the already
131 created initial frame. 136 created initial frame.
132 137
133 If these settings affect the frame geometry and appearance, you'll see 138 If these settings affect the frame geometry and appearance, you'll see
134 the frame appear with the wrong ones and then change to the specified 139 the frame appear with the wrong ones and then change to the specified
135 ones. If that bothers you, you can specify the same geometry and 140 ones. If that bothers you, you can specify the same geometry and
137 created. @xref{Resources X,, X Resources, emacs, The XEmacs User's Manual}. 142 created. @xref{Resources X,, X Resources, emacs, The XEmacs User's Manual}.
138 143
139 X resource settings typically apply to all frames. If you want to 144 X resource settings typically apply to all frames. If you want to
140 specify some X resources solely for the sake of the initial frame, and 145 specify some X resources solely for the sake of the initial frame, and
141 you don't want them to apply to subsequent frames, here's how to achieve 146 you don't want them to apply to subsequent frames, here's how to achieve
142 this. Specify parameters in @code{default-frame-alist} to override the 147 this: specify properties in @code{default-frame-plist} to override the X
143 X resources for subsequent frames; then, to prevent these from affecting 148 resources for subsequent frames; then, to prevent these from affecting
144 the initial frame, specify the same parameters in 149 the initial frame, specify the same properties in
145 @code{initial-frame-alist} with values that match the X resources. 150 @code{initial-frame-plist} with values that match the X resources.
146 @end defvar 151 @end defvar
147 152
148 If these parameters specify a separate minibuffer-only frame with 153 If these properties specify a separate minibuffer-only frame via a
149 @code{(minibuffer . nil)}, and you have not created one, Emacs creates 154 @code{minibuffer} property of @code{nil}, and you have not yet created
150 one for you. 155 one, XEmacs creates one for you.
151 156
152 @defvar minibuffer-frame-alist 157 @defvar minibuffer-frame-plist
153 This variable's value is an alist of parameter values used when creating 158 This variable's value is a plist of properties used when creating an
154 an initial minibuffer-only frame---if such a frame is needed, according 159 initial minibuffer-only frame---if such a frame is needed, according to
155 to the parameters for the main initial frame. 160 the properties for the main initial frame.
156 @end defvar 161 @end defvar
157 162
158 @defvar default-frame-alist 163 @defvar default-frame-plist
159 This is an alist specifying default values of frame parameters for 164 This is a plist specifying default values of frame properties for
160 subsequent Emacs frames (not the initial ones). 165 subsequent XEmacs frames (not the initial ones).
161 @end defvar 166 @end defvar
162 167
163 See also @code{special-display-frame-alist}, in @ref{Choosing Window}. 168 See also @code{special-display-frame-plist}, in @ref{Choosing Window}.
164 169
165 If you use options that specify window appearance when you invoke Emacs, 170 If you use options that specify window appearance when you invoke XEmacs,
166 they take effect by adding elements to @code{default-frame-alist}. One 171 they take effect by adding elements to @code{default-frame-plist}. One
167 exception is @samp{-geometry}, which adds the specified position to 172 exception is @samp{-geometry}, which adds the specified position to
168 @code{initial-frame-alist} instead. @xref{Command Arguments,,, emacs, 173 @code{initial-frame-plist} instead. @xref{Command Arguments,,, emacs,
169 The XEmacs User's Manual}. 174 The XEmacs User's Manual}.
170 175
171 @node X Frame Parameters 176 @node X Frame Properties
172 @subsection X Window Frame Parameters 177 @subsection X Window Frame Properties
173 178
174 Just what parameters a frame has depends on what display mechanism it 179 Just what properties a frame has depends on what display mechanism it
175 uses. Here is a table of the parameters of an X window frame; of these, 180 uses. Here is a table of the properties of an X window frame; of these,
176 @code{name}, @code{height}, @code{width}, and @code{buffer-predicate} 181 @code{name}, @code{height}, @code{width}, and @code{buffer-predicate}
177 provide meaningful information in non-X frames. 182 provide meaningful information in non-X frames.
178 183
179 @table @code 184 @table @code
180 @item name 185 @item name
181 The name of the frame. Most window managers display the frame's name in 186 The name of the frame. Most window managers display the frame's name in
182 the frame's border, at the top of the frame. If you don't specify a 187 the frame's border, at the top of the frame. If you don't specify a
183 name, and you have more than one frame, Emacs sets the frame name based 188 name, and you have more than one frame, XEmacs sets the frame name based
184 on the buffer displayed in the frame's selected window. 189 on the buffer displayed in the frame's selected window.
185 190
186 If you specify the frame name explicitly when you create the frame, the 191 If you specify the frame name explicitly when you create the frame, the
187 name is also used (instead of the name of the Emacs executable) when 192 name is also used (instead of the name of the XEmacs executable) when
188 looking up X resources for the frame. 193 looking up X resources for the frame.
189 194
190 @item display 195 @item display
191 The display on which to open this frame. It should be a string of the 196 The display on which to open this frame. It should be a string of the
192 form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the 197 form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
199 negative @var{pos} value. 204 negative @var{pos} value.
200 205
201 A negative number @minus{}@var{pos}, or a list of the form @code{(- 206 A negative number @minus{}@var{pos}, or a list of the form @code{(-
202 @var{pos})}, actually specifies the position of the right edge of the 207 @var{pos})}, actually specifies the position of the right edge of the
203 window with respect to the right edge of the screen. A positive value 208 window with respect to the right edge of the screen. A positive value
204 of @var{pos} counts toward the left. If the parameter is a negative 209 of @var{pos} counts toward the left. If the property is a negative
205 integer @minus{}@var{pos} then @var{pos} is positive! 210 integer @minus{}@var{pos} then @var{pos} is positive!
206 211
207 @item top 212 @item top
208 The screen position of the top edge, in pixels, with respect to the 213 The screen position of the top edge, in pixels, with respect to the
209 top edge of the screen. The value may be a positive number @var{pos}, 214 top edge of the screen. The value may be a positive number @var{pos},
211 negative @var{pos} value. 216 negative @var{pos} value.
212 217
213 A negative number @minus{}@var{pos}, or a list of the form @code{(- 218 A negative number @minus{}@var{pos}, or a list of the form @code{(-
214 @var{pos})}, actually specifies the position of the bottom edge of the 219 @var{pos})}, actually specifies the position of the bottom edge of the
215 window with respect to the bottom edge of the screen. A positive value 220 window with respect to the bottom edge of the screen. A positive value
216 of @var{pos} counts toward the top. If the parameter is a negative 221 of @var{pos} counts toward the top. If the property is a negative
217 integer @minus{}@var{pos} then @var{pos} is positive! 222 integer @minus{}@var{pos} then @var{pos} is positive!
218 223
219 @item icon-left 224 @item icon-left
220 The screen position of the left edge @emph{of the frame's icon}, in 225 The screen position of the left edge @emph{of the frame's icon}, in
221 pixels, counting from the left edge of the screen. This takes effect if 226 pixels, counting from the left edge of the screen. This takes effect if
227 and when the frame is iconified. 232 and when the frame is iconified.
228 233
229 @item user-position 234 @item user-position
230 Non-@code{nil} if the screen position of the frame was explicitly 235 Non-@code{nil} if the screen position of the frame was explicitly
231 requested by the user (for example, with the @samp{-geometry} option). 236 requested by the user (for example, with the @samp{-geometry} option).
232 Nothing automatically makes this parameter non-@code{nil}; it is up to 237 Nothing automatically makes this property non-@code{nil}; it is up to
233 Lisp programs that call @code{make-frame} to specify this parameter as 238 Lisp programs that call @code{make-frame} to specify this property as
234 well as specifying the @code{left} and @code{top} parameters. 239 well as specifying the @code{left} and @code{top} properties.
235 240
236 @item height 241 @item height
237 The height of the frame contents, in characters. (To get the height in 242 The height of the frame contents, in characters. (To get the height in
238 pixels, call @code{frame-pixel-height}; see @ref{Size and Position}.) 243 pixels, call @code{frame-pixel-height}; see @ref{Size and Position}.)
239 244
316 @cindex resize redisplay 321 @cindex resize redisplay
317 @cindex frame position 322 @cindex frame position
318 @cindex position of frame 323 @cindex position of frame
319 324
320 You can read or change the size and position of a frame using the 325 You can read or change the size and position of a frame using the
321 frame parameters @code{left}, @code{top}, @code{height}, and 326 frame properties @code{left}, @code{top}, @code{height}, and
322 @code{width}. Whatever geometry parameters you don't specify are chosen 327 @code{width}. Whatever geometry properties you don't specify are chosen
323 by the window manager in its usual fashion. 328 by the window manager in its usual fashion.
324 329
325 Here are some special features for working with sizes and positions: 330 Here are some special features for working with sizes and positions:
326 331
327 @defun set-frame-position frame left top 332 @defun set-frame-position frame left top
328 This function sets the position of the top left corner of @var{frame} to 333 This function sets the position of the top left corner of @var{frame} to
329 @var{left} and @var{top}. These arguments are measured in pixels, and 334 @var{left} and @var{top}. These arguments are measured in pixels, and
330 count from the top left corner of the screen. Negative parameter values 335 count from the top left corner of the screen. Negative property values
331 count up or rightward from the top left corner of the screen. 336 count up or rightward from the top left corner of the screen.
332 @end defun 337 @end defun
333 338
334 @defun frame-height &optional frame 339 @defun frame-height &optional frame
335 @defunx frame-width &optional frame 340 @defunx frame-width &optional frame
362 367
363 @ignore @c Not in XEmacs 368 @ignore @c Not in XEmacs
364 @defun x-parse-geometry geom 369 @defun x-parse-geometry geom
365 @cindex geometry specification 370 @cindex geometry specification
366 The function @code{x-parse-geometry} converts a standard X windows 371 The function @code{x-parse-geometry} converts a standard X windows
367 geometry string to an alist that you can use as part of the argument to 372 geometry string to a plist that you can use as part of the argument to
368 @code{make-frame}. 373 @code{make-frame}.
369 374
370 The alist describes which parameters were specified in @var{geom}, and 375 The plist describes which properties were specified in @var{geom}, and
371 gives the values specified for them. Each element looks like 376 gives the values specified for them. Each element looks like
372 @code{(@var{parameter} . @var{value})}. The possible @var{parameter} 377 @code{(@var{property} . @var{value})}. The possible @var{property}
373 values are @code{left}, @code{top}, @code{width}, and @code{height}. 378 values are @code{left}, @code{top}, @code{width}, and @code{height}.
374 379
375 For the size parameters, the value must be an integer. The position 380 For the size properties, the value must be an integer. The position
376 parameter names @code{left} and @code{top} are not totally accurate, 381 property names @code{left} and @code{top} are not totally accurate,
377 because some values indicate the position of the right or bottom edges 382 because some values indicate the position of the right or bottom edges
378 instead. These are the @var{value} possibilities for the position 383 instead. These are the @var{value} possibilities for the position
379 parameters: 384 properties:
380 385
381 @table @asis 386 @table @asis
382 @item an integer 387 @item an integer
383 A positive integer relates the left edge or top edge of the window to 388 A positive integer relates the left edge or top edge of the window to
384 the left or top edge of the screen. A negative integer relates the 389 the left or top edge of the screen. A negative integer relates the
419 name. 424 name.
420 425
421 @defun frame-name &optional frame 426 @defun frame-name &optional frame
422 This function returns the name of @var{frame}, which defaults to the 427 This function returns the name of @var{frame}, which defaults to the
423 selected frame if not specified. The name of a frame can also be 428 selected frame if not specified. The name of a frame can also be
424 obtained from the frame's parameters. @xref{Frame Parameters}. 429 obtained from the frame's properties. @xref{Frame Properties}.
425 @end defun 430 @end defun
426 431
427 @defvar default-frame-name 432 @defvar default-frame-name
428 This variable holds the default name to assign to newly-created frames. 433 This variable holds the default name to assign to newly-created frames.
429 This can be overridden by arguments to @code{make-frame}. This 434 This can be overridden by arguments to @code{make-frame}. This
434 @section Frame Titles 439 @section Frame Titles
435 440
436 Every frame has a title; most window managers display the frame title at 441 Every frame has a title; most window managers display the frame title at
437 the top of the frame. You can specify an explicit title with the 442 the top of the frame. You can specify an explicit title with the
438 @code{name} frame property. But normally you don't specify this 443 @code{name} frame property. But normally you don't specify this
439 explicitly, and Emacs computes the title automatically. 444 explicitly, and XEmacs computes the title automatically.
440 445
441 Emacs computes the frame title based on a template stored in the 446 XEmacs computes the frame title based on a template stored in the
442 variable @code{frame-title-format}. 447 variable @code{frame-title-format}.
443 448
444 @defvar frame-title-format 449 @defvar frame-title-format
445 This variable specifies how to compute a title for a frame 450 This variable specifies how to compute a title for a frame
446 when you have not explicitly specified one. 451 when you have not explicitly specified one.
494 @end defun 499 @end defun
495 500
496 @ignore Not in XEmacs currently 501 @ignore Not in XEmacs currently
497 Some window managers provide a command to delete a window. These work 502 Some window managers provide a command to delete a window. These work
498 by sending a special message to the program that operates the window. 503 by sending a special message to the program that operates the window.
499 When Emacs gets one of these commands, it generates a 504 When XEmacs gets one of these commands, it generates a
500 @code{delete-frame} event, whose normal definition is a command that 505 @code{delete-frame} event, whose normal definition is a command that
501 calls the function @code{delete-frame}. @xref{Misc Events}. 506 calls the function @code{delete-frame}. @xref{Misc Events}.
502 @end ignore 507 @end ignore
503 508
504 @node Finding All Frames 509 @node Finding All Frames
656 @code{select-frame} is the only way to switch frames, and the effect 661 @code{select-frame} is the only way to switch frames, and the effect
657 lasts until overridden by a subsequent call to @code{select-frame}. 662 lasts until overridden by a subsequent call to @code{select-frame}.
658 Only the selected terminal frame is actually displayed on the terminal. 663 Only the selected terminal frame is actually displayed on the terminal.
659 Each terminal screen except for the initial one has a number, and the 664 Each terminal screen except for the initial one has a number, and the
660 number of the selected frame appears in the mode line after the word 665 number of the selected frame appears in the mode line after the word
661 @samp{Emacs} (@pxref{Modeline Variables}). 666 @samp{XEmacs} (@pxref{Modeline Variables}).
662 667
663 @defun select-frame frame 668 @defun select-frame frame
664 This function selects frame @var{frame}, temporarily disregarding the 669 This function selects frame @var{frame}, temporarily disregarding the
665 focus of the X server if any. The selection of @var{frame} lasts until 670 focus of the X server if any. The selection of @var{frame} lasts until
666 the next time the user does something to select a different frame, or 671 the next time the user does something to select a different frame, or
671 to this frame, or the @code{select-frame-hook} or 676 to this frame, or the @code{select-frame-hook} or
672 @code{deselect-frame-hook} to be run, until the next time that XEmacs is 677 @code{deselect-frame-hook} to be run, until the next time that XEmacs is
673 waiting for an event. 678 waiting for an event.
674 679
675 @ignore (FSF Emacs) 680 @ignore (FSF Emacs)
676 Emacs cooperates with the X server and the window managers by arranging 681 XEmacs cooperates with the X server and the window managers by arranging
677 to select frames according to what the server and window manager ask 682 to select frames according to what the server and window manager ask
678 for. It does so by generating a special kind of input event, called a 683 for. It does so by generating a special kind of input event, called a
679 @dfn{focus} event. The command loop handles a focus event by calling 684 @dfn{focus} event. The command loop handles a focus event by calling
680 @code{handle-select-frame}. @xref{Focus Events}. 685 @code{handle-select-frame}. @xref{Focus Events}.
681 686
772 windows. On TTY frames, this is the same as @code{frame-visible-p}. 777 windows. On TTY frames, this is the same as @code{frame-visible-p}.
773 @end defun 778 @end defun
774 779
775 @ignore @c Not in XEmacs. 780 @ignore @c Not in XEmacs.
776 The visibility status of a frame is also available as a frame 781 The visibility status of a frame is also available as a frame
777 parameter. You can read or change it as such. @xref{X Frame 782 property. You can read or change it as such. @xref{X Frame
778 Parameters}. 783 Properties}.
779 784
780 The user can iconify and deiconify frames with the window manager. 785 The user can iconify and deiconify frames with the window manager. This
781 This happens below the level at which Emacs can exert any control, but 786 happens below the level at which XEmacs can exert any control, but XEmacs
782 Emacs does provide events that you can use to keep track of such 787 does provide events that you can use to keep track of such changes.
783 changes. @xref{Misc Events}. 788 @xref{Misc Events}.
784 @end ignore 789 @end ignore
785 790
786 @node Raising and Lowering 791 @node Raising and Lowering
787 @section Raising and Lowering Frames 792 @section Raising and Lowering Frames
788 793
816 selected) or auto-lower (lowering automatically when it is deselected). 821 selected) or auto-lower (lowering automatically when it is deselected).
817 Under X, most ICCCM-compliant window managers will have an option to do 822 Under X, most ICCCM-compliant window managers will have an option to do
818 this for you, but the following variables are provided in case you're 823 this for you, but the following variables are provided in case you're
819 using a broken WM. (Under FSF Emacs, the same functionality is 824 using a broken WM. (Under FSF Emacs, the same functionality is
820 provided through the @code{auto-raise} and @code{auto-lower} 825 provided through the @code{auto-raise} and @code{auto-lower}
821 frame parameters.) 826 frame properties.)
822 827
823 @defvar auto-raise-frame 828 @defvar auto-raise-frame
824 This variable's value is @code{t} if frames will be raised to the top 829 This variable's value is @code{t} if frames will be raised to the top
825 when selected. 830 when selected.
826 @end defvar 831 @end defvar