Commit a08a07e3 authored by Chong Yidong's avatar Chong Yidong
Browse files

Update Frames chapter of Lisp manager. Document clipboard manager.

* doc/emacs/killing.texi (Clipboard): Document clipboard manager.

* doc/lispref/windows.texi (Basic Windows, Coordinates and Windows)
(Coordinates and Windows):
* display.texi (Refresh Screen, Line Height, Face Attributes)
(Overlay Arrow, Beeping, Glyphless Chars): Likewise.

* doc/lispref/frames.texi (Frames): Remove little-used "terminal frame" and
"window frame" terminology.
(Frame Parameters, Font and Color Parameters, Initial Parameters)
(Size and Position, Visibility of Frames): Callers changed.
(Frames): Clarify which terminals in framep are graphical.
(Initial Parameters): --geometry is not the only option which adds
to initial-frame-alist.
(Position Parameters): Note that icon-left and icon-top are for
old window managers only.
(Size Parameters): Sizes are in characters even on graphical
displays.
(Management Parameters): Note that window-id and outer-window-id
can't really be changed, and that auto-raise isn't always obeyed.
(Cursor Parameters): Document cursor-type explicitly.
(Size and Position): The aliases set-screen-height and
set-screen-width have been deleted.
(Visibility of Frames): Mention "minimization".

* doc/lispref/os.texi (Startup Summary): Minor clarifications.
(Startup Summary, Suspending Emacs): Standardize on "text
terminal" terminology.
parent ea16568d
......@@ -197,7 +197,7 @@ elisp.texi
errors.texi rgm
eval.texi cyd
files.texi cyd
frames.texi
frames.texi cyd
functions.texi cyd
hash.texi cyd
help.texi cyd
......
2012-03-04 Chong Yidong <cyd@gnu.org>
* killing.texi (Clipboard): Document clipboard manager.
2012-02-29 Glenn Morris <rgm@gnu.org>
* ack.texi (Acknowledgments): Use @Tex{} in more places.
......
......@@ -490,6 +490,17 @@ new yank to the clipboard.
To prevent kill and yank commands from accessing the clipboard,
change the variable @code{x-select-enable-clipboard} to @code{nil}.
@cindex clipboard manager
@vindex x-select-enable-clipboard-manager
Many X desktop environments support a feature called the
@dfn{clipboard manager}. If you exit Emacs while it is the current
``owner'' of the clipboard data, and there is a clipboard manager
running, Emacs transfers the clipboard data to the clipboard manager
so that it is not lost. In some circumstances, this may cause a delay
when exiting Emacs; if you wish to prevent Emacs from transferring
data to the clipboard manager, change the variable
@code{x-select-enable-clipboard-manager} to @code{nil}.
@vindex x-select-enable-primary
@findex clipboard-kill-region
@findex clipboard-kill-ring-save
......
2012-03-04 Chong Yidong <cyd@gnu.org>
* frames.texi (Frames): Remove little-used "terminal frame" and
"window frame" terminology.
(Frame Parameters, Font and Color Parameters, Initial Parameters)
(Size and Position, Visibility of Frames): Callers changed.
(Frames): Clarify which terminals in framep are graphical.
(Initial Parameters): --geometry is not the only option which adds
to initial-frame-alist.
(Position Parameters): Note that icon-left and icon-top are for
old window managers only.
(Size Parameters): Sizes are in characters even on graphical
displays.
(Management Parameters): Note that window-id and outer-window-id
can't really be changed, and that auto-raise isn't always obeyed.
(Cursor Parameters): Document cursor-type explicitly.
(Size and Position): The aliases set-screen-height and
set-screen-width have been deleted.
(Visibility of Frames): Mention "minimization".
* os.texi (Startup Summary): Minor clarifications.
(Startup Summary, Suspending Emacs): Standardize on "text
terminal" terminology.
* windows.texi (Basic Windows, Coordinates and Windows)
(Coordinates and Windows):
* display.texi (Refresh Screen, Line Height, Face Attributes)
(Overlay Arrow, Beeping, Glyphless Chars): Likewise.
2012-03-04 Glenn Morris <rgm@gnu.org>
* abbrevs.texi: Small copyedits throughout.
......
......@@ -93,9 +93,9 @@ are always drawn using the X core font driver.
@item
Display terminals are no longer represented using a ``terminal'' data
type; this is not necessary, because we have removed the ability to
display on graphical and text-only terminals simultaneously. For the
same reason, the @code{window-system} variable is no longer
frame-local, and the @code{window-system} function has been removed.
display on graphical and text terminals simultaneously. For the same
reason, the @code{window-system} variable is no longer frame-local,
and the @code{window-system} function has been removed.
@item
The functions @code{list-system-processes} and
......
......@@ -62,7 +62,7 @@ you call these functions when input is available, they don't redisplay
immediately, but the requested redisplay does happen
eventually---after all the input has been processed.
On text-only terminals, suspending and resuming Emacs normally also
On text terminals, suspending and resuming Emacs normally also
refreshes the screen. Some terminal emulators record separate
contents for display-oriented programs such as Emacs and for ordinary
sequential display. If you are using such a terminal, you might want
......@@ -1809,7 +1809,7 @@ into a Lisp value as described above. However, in this case the
numeric height value specifies the line spacing, rather than the line
height.
On text-only terminals, the line spacing cannot be altered.
On text terminals, the line spacing cannot be altered.
@node Faces
@section Faces
......@@ -2058,7 +2058,7 @@ floating point and function values are not allowed.
Font weight---one of the symbols (from densest to faintest)
@code{ultra-bold}, @code{extra-bold}, @code{bold}, @code{semi-bold},
@code{normal}, @code{semi-light}, @code{light}, @code{extra-light}, or
@code{ultra-light}. On text-only terminals that support
@code{ultra-light}. On text terminals which support
variable-brightness text, any weight greater than normal is displayed
as extra bright, and any weight less than normal is displayed as
half-bright.
......@@ -2066,8 +2066,8 @@ half-bright.
@item :slant
Font slant---one of the symbols @code{italic}, @code{oblique},
@code{normal}, @code{reverse-italic}, or @code{reverse-oblique}. On
text-only terminals that support variable-brightness text, slanted
text is displayed as half-bright.
text terminals that support variable-brightness text, slanted text is
displayed as half-bright.
@item :foreground
Foreground color, a string. The value can be a system-defined color
......@@ -3649,9 +3649,9 @@ this list.
Each variable on this list can have properties
@code{overlay-arrow-string} and @code{overlay-arrow-bitmap} that
specify an overlay arrow string (for text-only terminals) or fringe
bitmap (for graphical terminals) to display at the corresponding
overlay arrow position. If either property is not set, the default
specify an overlay arrow string (for text terminals) or fringe bitmap
(for graphical terminals) to display at the corresponding overlay
arrow position. If either property is not set, the default
@code{overlay-arrow-string} or @code{overlay-arrow} fringe indicator
is used.
......@@ -6043,8 +6043,8 @@ This is a synonym for @code{ding}.
@defopt visible-bell
This variable determines whether Emacs should flash the screen to
represent a bell. Non-@code{nil} means yes, @code{nil} means no. This
is effective on graphical displays, and on text-only terminals
represent a bell. Non-@code{nil} means yes, @code{nil} means no.
This is effective on graphical displays, and on text terminals
provided the terminal's Termcap entry defines the visible bell
capability (@samp{vb}).
@end defopt
......@@ -6340,7 +6340,7 @@ such changes affect all of Emacs display.
they appear in a buffer, but in some special way (e.g. as a box
containing a hexadecimal code). These include characters that cannot
be displayed with any available font (on a graphical display), or that
cannot be encoded by the terminal's coding system (on a text-only
cannot be encoded by the terminal's coding system (on a text
terminal). Specific characters can also be defined to be glyphless.
@defvar glyphless-char-display
......@@ -6355,7 +6355,7 @@ Don't display the character.
@item @code{thin-space}
Display a thin space, 1-pixel wide on graphical displays, or
1-character wide on text-only terminals.
1-character wide on text terminals.
@item @code{empty-box}
Display an empty box.
......@@ -6374,7 +6374,7 @@ Except for @code{zero-width}, these methods display using the
An entry can also be a cons cell @code{(@var{graphical}
. @var{text})}, where @var{graphical} and @var{text} are the display
methods on graphical displays and text-only terminals respectively.
methods on graphical displays and text terminals respectively.
The char-table has one extra slot, which determines how to display any
character that cannot be displayed with any available font, or cannot
......
......@@ -972,7 +972,7 @@ Frames
* Window System Selections::Transferring text to and from other X clients.
* Drag and Drop:: Internals of Drag-and-Drop implementation.
* Color Names:: Getting the definitions of color names.
* Text Terminal Colors:: Defining colors for text-only terminals.
* Text Terminal Colors:: Defining colors for text terminals.
* Resources:: Getting resource values from the server.
* Display Feature Testing:: Determining the features of a terminal.
......
......@@ -23,26 +23,25 @@ into smaller windows. @xref{Splitting Windows}.
more Emacs frames. In Emacs Lisp, a @dfn{terminal object} is a Lisp
object that represents a terminal. @xref{Terminal Type}.
@cindex terminal frame
@cindex window frame
There are two classes of terminals: text-only terminals and
graphical terminals. Text-only terminals are non-graphics-capable
display devices, including ``terminal emulators'' such as xterm. On
text-only terminals, each frame occupies the entire terminal screen;
although you can create additional frames and switch between them,
only one frame can be shown at any given time. We refer to frames on
text-only terminals as @dfn{terminal frames}. Graphical terminals, on
the other hand, are graphics-capable windowing systems, such as the X
Window System. On a graphical terminal, Emacs can display multiple
frames simultaneously. We refer to such frames as @dfn{window
frames}.
@cindex text terminal
@cindex graphical terminal
@cindex graphical display
There are two classes of terminals: @dfn{text terminals} and
@dfn{graphical terminals}. Text terminals are non-graphics-capable
displays, including @command{xterm} and other terminal emulators. On
a text terminal, each Emacs frame occupies the terminal's entire
screen; although you can create additional frames and switch between
them, the terminal only shows one frame at a time. Graphical
terminals, on the other hand, are managed by graphical display systems
such as the X Window System, which allow Emacs to show multiple frames
simultaneously on the same display.
On GNU and Unix systems, you can create additional frames on any
available terminal, within a single Emacs session, regardless of
whether Emacs was started on a text-only or graphical terminal. Emacs
can display on both graphical and text-only terminals simultaneously.
This comes in handy, for instance, when you connect to the same
session from several remote locations. @xref{Multiple Terminals}.
whether Emacs was started on a text or graphical terminal. Emacs can
display on both graphical and text terminals simultaneously. This
comes in handy, for instance, when you connect to the same session
from several remote locations. @xref{Multiple Terminals}.
@defun framep object
This predicate returns a non-@code{nil} value if @var{object} is a
......@@ -50,14 +49,15 @@ frame, and @code{nil} otherwise. For a frame, the value indicates which
kind of display the frame uses:
@table @code
@item x
The frame is displayed in an X window.
@item t
A terminal frame on a character display.
The frame is displayed on a text terminal.
@item x
The frame is displayed on an X graphical terminal.
@item w32
The frame is displayed on MS-Windows 9X/NT.
The frame is displayed on a MS-Windows graphical terminal.
@item ns
The frame is displayed on a GNUstep or Macintosh Cocoa display.
The frame is displayed on a GNUstep or Macintosh Cocoa graphical
terminal.
@item pc
The frame is displayed on an MS-DOS terminal.
@end table
......@@ -71,10 +71,10 @@ selected frame.
@defun terminal-live-p object
This predicate returns a non-@code{nil} value if @var{object} is a
terminal that is alive (i.e.@: was not deleted), and @code{nil}
otherwise. For live terminals, the return value indicates what kind
of frames are displayed on that terminal; the list of possible values
is the same as for @code{framep} above.
terminal that is live (i.e.@: not deleted), and @code{nil} otherwise.
For live terminals, the return value indicates what kind of frames are
displayed on that terminal; the list of possible values is the same as
for @code{framep} above.
@end defun
@menu
......@@ -99,7 +99,7 @@ is the same as for @code{framep} above.
* Window System Selections:: Transferring text to and from other X clients.
* Drag and Drop:: Internals of Drag-and-Drop implementation.
* Color Names:: Getting the definitions of color names.
* Text Terminal Colors:: Defining colors for text-only terminals.
* Text Terminal Colors:: Defining colors for text terminals.
* Resources:: Getting resource values from the server.
* Display Feature Testing:: Determining the features of a terminal.
@end menu
......@@ -118,7 +118,7 @@ for the new frame. @xref{Frame Parameters}. If you specify the
@code{terminal} parameter in @var{alist}, the new frame is created on
that terminal. Otherwise, if you specify the @code{window-system}
frame parameter in @var{alist}, that determines whether the frame
should be displayed on a text-only or graphical terminal.
should be displayed on a text terminal or a graphical terminal.
@xref{Window Systems}. If neither is specified, the new frame is
created in the same terminal as the selected frame.
......@@ -163,15 +163,15 @@ frame.
@cindex multiple X displays
@cindex displays, multiple
Emacs represents each terminal, whether graphical or text-only, as a
@dfn{terminal object} data type (@pxref{Terminal Type}). On GNU and
Unix systems, Emacs can use multiple terminals simultaneously in each
session. On other systems, it can only use a single terminal. Each
terminal object has the following attributes:
Emacs represents each terminal as a @dfn{terminal object} data type
(@pxref{Terminal Type}). On GNU and Unix systems, Emacs can use
multiple terminals simultaneously in each session. On other systems,
it can only use a single terminal. Each terminal object has the
following attributes:
@itemize @bullet
@item
The name of the device used by the terminal (e.g., @samp{:0.0} or
The name of the device used by the terminal (e.g.@: @samp{:0.0} or
@file{/dev/tty}).
@item
......@@ -180,7 +180,7 @@ The terminal and keyboard coding systems used on the terminal.
@item
The kind of display associated with the terminal. This is the symbol
returned by the function @code{terminal-live-p} (i.e., @code{x},
returned by the function @code{terminal-live-p} (i.e.@: @code{x},
@code{t}, @code{w32}, @code{ns}, or @code{pc}). @xref{Frames}.
@item
......@@ -189,7 +189,7 @@ A list of terminal parameters. @xref{Terminal Parameters}.
There is no primitive for creating terminal objects. Emacs creates
them as needed, such as when you call @code{make-frame-on-display}
(which is described below).
(described below).
@defun terminal-name &optional terminal
This function returns the file name of the device used by
......@@ -199,7 +199,7 @@ a frame, meaning that frame's terminal.
@end defun
@defun terminal-list
This function returns a list of all terminal objects currently in use.
This function returns a list of all live terminal objects.
@end defun
@defun get-device-terminal device
......@@ -248,15 +248,15 @@ never be buffer-local (@pxref{Buffer-Local Variables}).
On GNU and Unix systems, each X display is a separate graphical
terminal. When Emacs is started from within the X window system, it
uses the X display chosen with the @code{DISPLAY} environment
variable, or with the @samp{--display} option. @xref{Initial
Options,,, emacs, The GNU Emacs Manual}. Emacs can connect to other X
displays via the command @code{make-frame-on-display}. Each X display
has its own selected frame and its own minibuffer windows; however,
only one of those frames is ``@emph{the} selected frame'' at any given
moment (@pxref{Input Focus}). Emacs can even connect to other
text-only terminals, by interacting with the @command{emacsclient}
program. @xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
uses the X display specified by the @env{DISPLAY} environment
variable, or by the @samp{--display} option (@pxref{Initial Options,,,
emacs, The GNU Emacs Manual}). Emacs can connect to other X displays
via the command @code{make-frame-on-display}. Each X display has its
own selected frame and its own minibuffer windows; however, only one
of those frames is ``@emph{the} selected frame'' at any given moment
(@pxref{Input Focus}). Emacs can even connect to other text
terminals, by interacting with the @command{emacsclient} program.
@xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
A single X server can handle more than one display. Each X display
has a three-part name, @samp{@var{host}:@var{server}.@var{screen}}.
......@@ -267,8 +267,8 @@ server, Emacs knows by the similarity in their names that they share a
single keyboard.
On some ``multi-monitor'' setups, a single X display outputs to more
than one monitor. Currently, there is no way for Emacs to distinguish
between the different physical monitors.
than one physical monitor. Currently, there is no way for Emacs to
distinguish between the different physical monitors.
@deffn Command make-frame-on-display display &optional parameters
This function creates and returns a new frame on @var{display}, taking
......@@ -277,8 +277,8 @@ the other frame parameters from the alist @var{parameters}.
Before creating the frame, this function ensures that Emacs is ``set
up'' to display graphics. For instance, if Emacs has not processed X
resources (e.g., if it was started on a text-only terminal), it does
so at this time. In all other respects, this function behaves like
resources (e.g.@: if it was started on a text terminal), it does so at
this time. In all other respects, this function behaves like
@code{make-frame} (@pxref{Creating Frames}).
@end deffn
......@@ -324,15 +324,15 @@ on that display (@pxref{Deleting Frames}).
Just what parameters a frame has depends on what display mechanism it
uses.
Frame parameters exist mostly for the sake of window systems. A
terminal frame has a few parameters, mostly for compatibility's sake;
only the @code{height}, @code{width}, @code{name}, @code{title},
@code{menu-bar-lines}, @code{buffer-list} and @code{buffer-predicate}
parameters do something special. If the terminal supports colors, the
parameters @code{foreground-color}, @code{background-color},
@code{background-mode} and @code{display-type} are also meaningful.
If the terminal supports frame transparency, the parameter
@code{alpha} is also meaningful.
Frame parameters exist mostly for the sake of graphical displays.
Most frame parameters have no effect when applied to a frame on a text
terminal; only the @code{height}, @code{width}, @code{name},
@code{title}, @code{menu-bar-lines}, @code{buffer-list} and
@code{buffer-predicate} parameters do something special. If the
terminal supports colors, the parameters @code{foreground-color},
@code{background-color}, @code{background-mode} and
@code{display-type} are also meaningful. If the terminal supports
frame transparency, the parameter @code{alpha} is also meaningful.
@menu
* Parameter Access:: How to change a frame's parameters.
......@@ -386,12 +386,13 @@ parameter values to frames that will be created henceforth.
@node Initial Parameters
@subsection Initial Frame Parameters
You can specify the parameters for the initial startup frame
by setting @code{initial-frame-alist} in your init file (@pxref{Init File}).
You can specify the parameters for the initial startup frame by
setting @code{initial-frame-alist} in your init file (@pxref{Init
File}).
@defopt initial-frame-alist
This variable's value is an alist of parameter values used when creating
the initial window frame. You can set this variable to specify the
This variable's value is an alist of parameter values used when
creating the initial frame. You can set this variable to specify the
appearance of the initial frame without altering subsequent frames.
Each element has the form:
......@@ -443,11 +444,13 @@ Functions that display a buffer in a separate frame can override the
default parameters by supplying their own parameters. @xref{Definition
of special-display-frame-alist}.
If you use options that specify window appearance when you invoke Emacs,
they take effect by adding elements to @code{default-frame-alist}. One
exception is @samp{-geometry}, which adds the specified position to
@code{initial-frame-alist} instead. @xref{Emacs Invocation,, Command
Line Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}.
If you invoke Emacs with command-line options that specify frame
appearance, those options take effect by adding elements to either
@code{initial-frame-alist} or @code{default-frame-alist}. Options
which affect just the initial frame, such as @samp{-geometry} and
@samp{--maximized}, add to @code{initial-frame-alist}; the others add
to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line
Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}.
@node Window Frame Parameters
@subsection Window Frame Parameters
......@@ -458,8 +461,8 @@ it uses. This section describes the parameters that have special
meanings on some or all kinds of terminals. Of these, @code{name},
@code{title}, @code{height}, @code{width}, @code{buffer-list} and
@code{buffer-predicate} provide meaningful information in terminal
frames, and @code{tty-color-mode} is meaningful @emph{only} in
terminal frames.
frames, and @code{tty-color-mode} is meaningful only for frames on
text terminals.
@menu
* Basic Parameters:: Parameters that are fundamental.
......@@ -523,7 +526,7 @@ named, this parameter will be @code{nil}.
@cindex window position on display
Position parameters' values are normally measured in pixels, but on
text-only terminals they count characters or lines instead.
text terminals they count characters or lines instead.
@table @code
@vindex left, a frame parameter
......@@ -560,19 +563,17 @@ to the top (or bottom) edge of the screen. It works just like
@vindex icon-left, a frame parameter
@item icon-left
The screen position of the left edge @emph{of the frame's icon}, in
pixels, counting from the left edge of the screen. This takes effect if
and when the frame is iconified.
If you specify a value for this parameter, then you must also specify
a value for @code{icon-top} and vice versa. The window manager may
ignore these two parameters.
The screen position of the left edge of the frame's icon, in pixels,
counting from the left edge of the screen. This takes effect when the
frame is iconified, if the window manager supports this feature. If
you specify a value for this parameter, then you must also specify a
value for @code{icon-top} and vice versa.
@vindex icon-top, a frame parameter
@item icon-top
The screen position of the top edge @emph{of the frame's icon}, in
pixels, counting from the top edge of the screen. This takes effect if
and when the frame is iconified.
The screen position of the top edge of the frame's icon, in pixels,
counting from the top edge of the screen. This takes effect when the
frame is iconified, if the window manager supports this feature.
@vindex user-position, a frame parameter
@item user-position
......@@ -600,8 +601,9 @@ parameters represent the user's stated preference; otherwise, use
@subsubsection Size Parameters
@cindex window size on display
Size parameters' values are normally measured in pixels, but on
text-only terminals they count characters or lines instead.
Frame parameters specify frame sizes in character units. On
graphical displays, the @code{default} face determines the actual
pixel sizes of these character units (@pxref{Face Attributes}).
@table @code
@vindex height, a frame parameter
......@@ -756,8 +758,9 @@ If non-@code{nil}, this frame's window is never split automatically.
@subsubsection Window Management Parameters
@cindex window manager interaction, and frame parameters
These frame parameters, meaningful only on window system displays,
interact with the window manager.
The following frame parameters control various aspects of the
frame's interaction with the window manager. They have no effect on
text terminals.
@table @code
@vindex visibility, a frame parameter
......@@ -768,11 +771,13 @@ iconified. @xref{Visibility of Frames}.
@vindex auto-raise, a frame parameter
@item auto-raise
Whether selecting the frame raises it (non-@code{nil} means yes).
If non-@code{nil}, Emacs automatically raises the frame when it is
selected. Some window managers do not allow this.
@vindex auto-lower, a frame parameter
@item auto-lower
Whether deselecting the frame lowers it (non-@code{nil} means yes).
If non-@code{nil}, Emacs automatically lowers the frame when it is
deselected. Some window managers do not allow this.
@vindex icon-type, a frame parameter
@item icon-type
......@@ -788,12 +793,15 @@ appears. If this is @code{nil}, the frame's title is used.
@vindex window-id, a frame parameter
@item window-id
The number of the window-system window used by the frame
to contain the actual Emacs windows.
The ID number which the graphical display uses for this frame. Emacs
assigns this parameter when the frame is created; changing the
parameter has no effect on the actual ID number.
@vindex outer-window-id, a frame parameter
@item outer-window-id
The number of the outermost window-system window used for the whole frame.
The ID number of the outermost window-system window in which the frame
exists. As with @code{window-id}, changing this parameter has no
actual effect.
@vindex wait-for-wm, a frame parameter
@item wait-for-wm
......@@ -848,9 +856,26 @@ Display a horizontal bar @var{height} pixels high.
@end table
@vindex cursor-type
The buffer-local variable @code{cursor-type} overrides the value of
the @code{cursor-type} frame parameter, but if it is @code{t}, that
means to use the cursor specified for the frame.
The @code{cursor-type} frame parameter may be overridden by the
variables @code{cursor-type} and
@code{cursor-in-non-selected-windows}:
@defvar cursor-type
This buffer-local variable controls how the cursor looks in a selected
window showing the buffer. If its value is @code{t}, that means to
use the cursor specified by the @code{cursor-type} frame parameter.
Otherwise, the value should be one of the cursor types listed above,
and it overrides the @code{cursor-type} frame parameter.
@end defvar
@defopt cursor-in-non-selected-windows
This buffer-local variable controls how the cursor looks in a window
that is not selected. It supports the same values as the
@code{cursor-type} frame parameter; also, @code{nil} means don't
display a cursor in nonselected windows, and @code{t} (the default)
means use a standard modification of the usual cursor type (solid box
becomes hollow box, and bar becomes a narrower bar).
@end defopt
@defopt blink-cursor-alist
This variable specifies how to blink the cursor. Each element has the
......@@ -866,15 +891,6 @@ variable do not take effect immediately, only when you specify the
@code{cursor-type} frame parameter.
@end defopt
@defopt cursor-in-non-selected-windows
This variable controls how the cursor looks in a window that is not
selected. It supports the same values as the @code{cursor-type} frame
parameter; also, @code{nil} means don't display a cursor in
nonselected windows, and @code{t} (the default) means use a standard
modification of the usual cursor type (solid box becomes hollow box,
and bar becomes a narrower bar).
@end defopt
@node Font and Color Parameters
@subsubsection Font and Color Parameters
@cindex font and color, frame parameters
......@@ -903,7 +919,7 @@ to whether the background color is a light one or a dark one.
@cindex standard colors for character terminals
This parameter overrides the terminal's color support as given by the
system's terminal capabilities database in that this parameter's value
specifies the color mode to use in terminal frames. The value can be
specifies the color mode to use on a text terminal. The value can be
either a symbol or a number. A number specifies the number of colors
to use (and, indirectly, what commands to issue to produce each
color). For example, @code{(tty-color-mode . 8)} specifies use of the
......@@ -1047,17 +1063,17 @@ selected frame.
@defunx frame-pixel-width &optional frame
These functions return the height and width of the main display area
of @var{frame}, measured in pixels. If you don't supply @var{frame},
they use the selected frame. For a text-only terminal, the results are
in characters rather than pixels.
they use the selected frame. For a text terminal, the results are in
characters rather than pixels.
These values include the internal borders, and windows' scroll bars and
fringes (which belong to individual windows, not to the frame itself).
The exact value of the heights depends on the window-system and toolkit
in use. With Gtk+, the height does not include any tool bar or menu
bar. With the Motif or Lucid toolkits, it includes the tool bar but
not the menu bar. In a graphical version with no toolkit, it includes
both the tool bar and menu bar. For a text-only terminal, the result
includes the menu bar.
These values include the internal borders, and windows' scroll bars
and fringes (which belong to individual windows, not to the frame
itself). The exact value of the heights depends on the window-system
and toolkit in use. With Gtk+, the height does not include any tool
bar or menu bar. With the Motif or Lucid toolkits, it includes the
tool bar but not the menu bar. In a graphical version with no
toolkit, it includes both the tool bar and menu bar. For a text
terminal, the result includes the menu bar.
@end defun
@defun frame-char-height &optional frame
......@@ -1084,13 +1100,13 @@ fit.
If @var{pretend} is non-@code{nil}, then Emacs displays @var{lines}
lines of output in @var{frame}, but does not change its value for the
actual height of the frame. This is only useful for a terminal frame.
actual height of the frame. This is only useful on text terminals.
Using a smaller height than the terminal actually implements may be
useful to reproduce behavior observed on a smaller screen, or if the
terminal malfunctions when using its whole screen. Setting the frame
height ``for real'' does not always work, because knowing the correct
actual size may be necessary for correct cursor positioning on a
terminal frame.
actual size may be necessary for correct cursor positioning on
text terminals.
@end defun
@defun set-frame-width frame width &optional pretend
......@@ -1099,13 +1115,6 @@ The argument @var{pretend} has the same meaning as in
@code{set-frame-height}.
@end defun
@findex set-screen-height
@findex set-screen-width
The older functions @code{set-screen-height} and
@code{set-screen-width} were used to specify the height and width of the
screen, in Emacs versions that did not support multiple frames. They
are semi-obsolete, but still work; they apply to the selected frame.
@node Geometry
@subsection Geometry
......@@ -1230,9 +1239,10 @@ while processing @code{frame-title-format} or
@section Deleting Frames
@cindex deleting frames
Frames remain potentially visible until you explicitly @dfn{delete}
them. A deleted frame cannot appear on the screen, but continues to
exist as a Lisp object until there are no references to it.
A @dfn{live frame} is one that has not been deleted. When a frame
is deleted, it is removed from its terminal display, although it may
continue to exist as a Lisp object until there are no more references
to it.
@deffn Command delete-frame &optional frame force
@vindex delete-frame-functions