29.23 Text Terminal Colors
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 the standard set of colors and will try to use them automatically.
The functions described in this section control how terminal colors are used by Emacs.
Several of these functions use or return rgb values, described in 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 terminals; then this argument will specify which terminal to operate on (the default being the selected frameβs terminal; see Input Focus). At present, though, the frame
argument has no effect.
function
tty-color-define name number \&optional rgb frameβ
This function associates the color name name
with color number number
on the terminal.
The optional argument rgb
, if specified, is an rgb value, a list of three numbers that specify what the color actually looks like. If you do not specify rgb
, then this color cannot be used by tty-color-approximate
to approximate other colors, because Emacs will not know what it looks like.
function
tty-color-clear \&optional frameβ
This function clears the table of defined colors for a text terminal.
function
tty-color-alist \&optional frameβ
This function returns an alist recording the known colors supported by a text terminal.
Each element has the form (name number . rgb)
or (name number)
. Here, name
is the color name, number
is the number used to specify it to the terminal. If present, rgb
is a list of three color values (for red, green, and blue) that says what the color actually looks like.
function
tty-color-approximate rgb \&optional frameβ
This function finds the closest color, among the known colors supported for display
, to that described by the rgb value rgb
(a list of color values). The return value is an element of tty-color-alist
.
function
tty-color-translate color \&optional frameβ
This function finds the closest color to color
among the known colors supported for display
and returns its index (an integer). If the name color
is not defined, the value is nil
.