Explain tty-color-mode frame parameter more.

* doc/emacs/cmdargs.texi (Colors X): Explain that tty color
support is dynamic.
* doc/lispref/frames.texi (Font and Color Parameters): Explain
that 'tty-color-mode' can be changed on the fly.
* doc/misc/efaq.texi (Colors on a TTY): Explain how to disable
'tty-color-mode', either at startup or dynamically.
This commit is contained in:
Robert Pluim 2024-10-18 11:22:52 +02:00
parent e5d600006e
commit 2c640e63a8
3 changed files with 21 additions and 2 deletions

View file

@ -1027,7 +1027,11 @@ there is no mode that supports @var{num} colors, Emacs acts as if
@var{num} were 0, i.e., it uses the terminal's default color support
mode.
@end table
If @var{mode} is omitted, it defaults to @var{ansi8}.
If @var{mode} is omitted, it defaults to @var{ansi8}. This support is
dynamic: the current mode is available via the @code{tty-color-mode}
frame parameter, and it can be changed by modifying that frame parameter.
This means you can also specify the initial value via
@code{default-frame-alist} instead of the command-line option.
@end table
For example, to use a coral mouse cursor and a slate blue text cursor,

View file

@ -2447,7 +2447,7 @@ off color support.
If the parameter's value is a symbol, it specifies a number through
the value of @code{tty-color-mode-alist}, and the associated number is
used instead.
used instead. This parameter supports dynamic changes.
@vindex screen-gamma@r{, a frame parameter}
@item screen-gamma

View file

@ -1880,6 +1880,21 @@ think that your terminal supports colors, but Emacs won't use them,
check the @code{termcap} entry for your display type for color-related
capabilities.
If by contrast you wish to @emph{disable} tty color support, either
start emacs with the @samp{--color=no} command-line option, or ensure
that the frame parameter @code{tty-color-mode} is @code{no}, e.g. by
putting the following in your init file:
@lisp
(push '(tty-color-mode . no) default-frame-alist)
@end lisp
To disable tty color support in the @emph{current} frame you can run:
@lisp
(set-frame-parameter nil 'tty-color-mode 'no)
@end lisp
The command @kbd{M-x list-colors-display} pops up a window which
exhibits all the colors Emacs knows about on the current display.