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.
This commit is contained in:
Chong Yidong 2012-03-04 14:50:18 +08:00
parent ea16568d87
commit a08a07e339
13 changed files with 276 additions and 224 deletions

View file

@ -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

View file

@ -1,3 +1,7 @@
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.

View file

@ -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

View file

@ -1,3 +1,32 @@
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.

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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
@ -1263,25 +1273,25 @@ calls the function @code{delete-frame}. @xref{Misc Events}.
@cindex frames, scanning all
@defun frame-list
The function @code{frame-list} returns a list of all the live frames,
i.e.@: those that have not been deleted. It is analogous to
@code{buffer-list} for buffers, and includes frames on all terminals.
The list that you get is newly created, so modifying the list doesn't
have any effect on the internals of Emacs.
This function returns a list of all the live frames, i.e.@: those that
have not been deleted. It is analogous to @code{buffer-list} for
buffers, and includes frames on all terminals. The list that you get
is newly created, so modifying the list doesn't have any effect on the
internals of Emacs.
@end defun
@defun visible-frame-list
This function returns a list of just the currently visible frames.
@xref{Visibility of Frames}. (Terminal frames always count as
``visible,'' even though only the selected one is actually displayed.)
@xref{Visibility of Frames}. Frames on text terminals always count as
``visible'', even though only the selected one is actually displayed.
@end defun
@defun next-frame &optional frame minibuf
The function @code{next-frame} lets you cycle conveniently through all
the frames on the current display from an arbitrary starting point. It
returns the ``next'' frame after @var{frame} in the cycle. If
@var{frame} is omitted or @code{nil}, it defaults to the selected frame
(@pxref{Input Focus}).
This function lets you cycle conveniently through all the frames on
the current display from an arbitrary starting point. It returns the
``next'' frame after @var{frame} in the cycle. If @var{frame} is
omitted or @code{nil}, it defaults to the selected frame (@pxref{Input
Focus}).
The second argument, @var{minibuf}, says which frames to consider:
@ -1369,20 +1379,20 @@ 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 one frame can be displayed at a
time on the terminal, so after a call to @code{select-frame}, the next
When using a text terminal, only one frame can be displayed at a time
on the terminal, so after a call to @code{select-frame}, the next
redisplay actually displays the newly selected frame. This frame
remains selected until a subsequent call to @code{select-frame}. Each
terminal frame has a number which appears in the mode line before the
buffer name (@pxref{Mode Line Variables}).
frame on a text terminal has a number which appears in the mode line
before the buffer name (@pxref{Mode Line Variables}).
@defun select-frame-set-input-focus frame &optional norecord
This function selects @var{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 next redisplay displays the new frame on
the entire terminal screen. The optional argument @var{norecord} has
the same meaning as for @code{select-frame} (see below). The return
value of this function is not significant.
On a text terminal, the next redisplay displays the new frame on the
entire terminal screen. The optional argument @var{norecord} has the
same meaning as for @code{select-frame} (see below). The return value
of this function is not significant.
@end defun
@defun select-frame frame &optional norecord
@ -1466,20 +1476,34 @@ position consistent with the new selected frame.
@cindex visible frame
@cindex invisible frame
@cindex iconified frame
@cindex minimized frame
@cindex frame visibility
A window frame may be @dfn{visible}, @dfn{invisible}, or
@dfn{iconified}. If it is visible, you can see its contents, unless
other windows cover it. If it is iconified, the frame's contents do
not appear on the screen, but an icon does. (Note: because of the
way in which some window managers implement the concept of multiple
workspaces, or desktops, all frames on other workspaces may appear to
Emacs to be iconified.) If the frame is invisible, it doesn't show on
the screen, not even as an icon.
A frame on a graphical display may be @dfn{visible}, @dfn{invisible},
or @dfn{iconified}. If it is visible, its contents are displayed in
the usual manner. If it is iconified, its contents are not displayed,
but there is a little icon somewhere to bring the frame back into view
(some window managers refer to this state as @dfn{minimized} rather
than @dfn{iconified}, but from Emacs' point of view they are the same
thing). If a frame is invisible, it is not displayed at all.
Visibility is meaningless for terminal frames, since only the selected
Visibility is meaningless on text terminals, since only the selected
one is actually displayed in any case.
@defun frame-visible-p frame
This function returns the visibility status of frame @var{frame}. The
value is @code{t} if @var{frame} is visible, @code{nil} if it is
invisible, and @code{icon} if it is iconified.
On a text terminal, all frames are considered visible, whether they
are currently being displayed or not.
@end defun
@deffn Command iconify-frame &optional frame
This function iconifies frame @var{frame}. If you omit @var{frame}, it
iconifies the selected frame.
@end deffn
@deffn Command make-frame-visible &optional frame
This function makes frame @var{frame} visible. If you omit
@var{frame}, it makes the selected frame visible. This does not raise
@ -1495,29 +1519,12 @@ Unless @var{force} is non-@code{nil}, this function refuses to make
@var{frame} invisible if all other frames are invisible..
@end deffn
@deffn Command iconify-frame &optional frame
This function iconifies frame @var{frame}. If you omit @var{frame}, it
iconifies the selected frame.
@end deffn
@defun frame-visible-p frame
This returns the visibility status of frame @var{frame}. The value is
@code{t} if @var{frame} is visible, @code{nil} if it is invisible, and
@code{icon} if it is iconified.
On a text-only terminal, all frames are considered visible, whether
they are currently being displayed or not, and this function returns
@code{t} for all frames.
@end defun
The visibility status of a frame is also available as a frame
parameter. You can read or change it as such. @xref{Management
Parameters}.
The user can iconify and deiconify frames with the window manager.
This happens below the level at which Emacs can exert any control, but
Emacs does provide events that you can use to keep track of such
changes. @xref{Misc Events}.
Parameters}. The user can also iconify and deiconify frames with the
window manager. This happens below the level at which Emacs can exert
any control, but Emacs does provide events that you can use to keep
track of such changes. @xref{Misc Events}.
@node Raising and Lowering
@section Raising and Lowering Frames
@ -2110,10 +2117,10 @@ and that name is still supported as an alias.
@node Text Terminal Colors
@section Text Terminal Colors
@cindex colors on text-only terminals
@cindex colors on text terminals
Text-only terminals usually support only a small number of colors,
and the computer uses small integers to select colors on the terminal.
Text terminals usually support only a small number of colors, and
the computer uses small integers to select colors on the terminal.
This means that the computer cannot reliably tell what the selected
color looks like; instead, you have to inform your application which
small integers correspond to which colors. However, Emacs does know
@ -2127,10 +2134,10 @@ in @ref{Color Names}.
These functions accept a display (either a frame or the name of a
terminal) as an optional argument. We hope in the future to make
Emacs support different colors on different text-only terminals; then
this argument will specify which terminal to operate on (the default
being the selected frame's terminal; @pxref{Input Focus}). At
present, though, the @var{frame} argument has no effect.
Emacs support different colors on different text terminals; then this
argument will specify which terminal to operate on (the default being
the selected frame's terminal; @pxref{Input Focus}). At present,
though, the @var{frame} argument has no effect.
@defun tty-color-define name number &optional rgb frame
This function associates the color name @var{name} with
@ -2144,12 +2151,12 @@ Emacs will not know what it looks like.
@end defun
@defun tty-color-clear &optional frame
This function clears the table of defined colors for a text-only terminal.
This function clears the table of defined colors for a text terminal.
@end defun
@defun tty-color-alist &optional frame
This function returns an alist recording the known colors supported by a
text-only terminal.
This function returns an alist recording the known colors supported by
a text terminal.
Each element has the form @code{(@var{name} @var{number} . @var{rgb})}
or @code{(@var{name} @var{number})}. Here, @var{name} is the color
@ -2265,8 +2272,8 @@ a mouse.
@defun display-graphic-p &optional display
This function returns @code{t} if @var{display} is a graphic display
capable of displaying several frames and several different fonts at
once. This is true for displays that use a window system such as X, and
false for text-only terminals.
once. This is true for displays that use a window system such as X,
and false for text terminals.
@end defun
@defun display-mouse-p &optional display

View file

@ -101,8 +101,8 @@ even earlier than this.)
It runs the normal hook @code{before-init-hook}.
@item
It initializes the window frame and faces, if appropriate, and turns
on the menu bar and tool bar, if the initial frame needs them.
It initializes the initial frame's faces, and turns on the menu bar
and tool bar if needed.
@item
It loads the library @file{site-start}, if it exists. This is not
@ -144,7 +144,7 @@ If the buffer @samp{*scratch*} exists and is still in Fundamental mode
@code{initial-major-mode}.
@item
If started on a text-only terminal, it loads the terminal-specific
If started on a text terminal, it loads the terminal-specific
Lisp library, which is specified by the variable
@code{term-file-prefix} (@pxref{Terminal-Specific}). This is not done
in @code{--batch} mode, nor if @code{term-file-prefix} is @code{nil}.
@ -600,7 +600,7 @@ directly does not run this hook.
@subsection Suspending Emacs
@cindex suspending Emacs
On text-only terminals, it is possible to @dfn{suspend Emacs}, which
On text terminals, it is possible to @dfn{suspend Emacs}, which
means stopping Emacs temporarily and returning control to its superior
process, which is usually the shell. This allows you to resume
editing later in the same Emacs process, with the same buffers, the
@ -740,10 +740,10 @@ terminal object, a frame (meaning the terminal for that frame), or
@deffn Command suspend-frame
This command @dfn{suspends} a frame. For GUI frames, it calls
@code{iconify-frame} (@pxref{Visibility of Frames}); for text-only
frames, it calls either @code{suspend-emacs} or @code{suspend-tty},
depending on whether the frame is displayed on the controlling
terminal device or not.
@code{iconify-frame} (@pxref{Visibility of Frames}); for frames on
text terminals, it calls either @code{suspend-emacs} or
@code{suspend-tty}, depending on whether the frame is displayed on the
controlling terminal device or not.
@end deffn
@node System Environment

View file

@ -994,7 +994,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.

View file

@ -993,7 +993,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.

View file

@ -68,7 +68,7 @@ window, and the contents of the selected message in another window.
graphical desktop environments and window systems, such as the X
Window System. When Emacs is run on X, each of its graphical X
windows is an Emacs frame (containing one or more Emacs windows).
When Emacs is run on a text-only terminal, the frame fills the entire
When Emacs is run on a text terminal, the frame fills the entire
terminal screen.
@cindex tiled windows
@ -2964,8 +2964,8 @@ the bottommost row.
Note that these are the actual outer edges of the window, including
any header line, mode line, scroll bar, fringes, and display margins.
On a text-only terminal, if the window has a neighbor on its right,
its right edge includes the separator line between the window and its
On a text terminal, if the window has a neighbor on its right, its
right edge includes the separator line between the window and its
neighbor.
@end defun
@ -3046,8 +3046,8 @@ argument because it always uses the frame that @var{window} is on.
The following functions return window positions in pixels, rather
than character units. Though mostly useful on graphical displays,
they can also be called on text-only terminals, where the screen area
of each text character is taken to be ``one pixel''.
they can also be called on text terminals, where the screen area of
each text character is taken to be ``one pixel''.
@defun window-pixel-edges &optional window
This function returns a list of pixel coordinates for the edges of

View file

@ -542,7 +542,6 @@ point motion, do not alter the primary selection.
*** mouse-2 is now bound to `mouse-yank-primary'.
This pastes from the primary selection, ignoring the kill-ring.
Previously, mouse-2 was bound to `mouse-yank-at-click'.
+++
*** `x-select-enable-clipboard' now defaults to t on all platforms.
+++
@ -569,7 +568,7 @@ between applications.
+++
*** Support for X cut buffers has been removed.
+++
*** X clipboard managers are now supported.
To inhibit this, change `x-select-enable-clipboard-manager' to nil.
@ -1118,7 +1117,9 @@ x-make-font-unitalic (make-face-unitalic),
mldrag-drag-mode-line (mouse-drag-mode-line),
mldrag-drag-vertical-line (mouse-drag-vertical-line),
iswitchb-default-keybindings (iswitchb-mode), char-bytes (== 1),
isearch-return-char (isearch-printing-char), make-local-hook (not needed)
isearch-return-char (isearch-printing-char), make-local-hook (not needed),
set-screen-height (set-frame-height), set-screen-width (set-frame-width)
+++
** The following obsolete (mostly since at least 21.1) variables and varaliases