1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

Add fallback for 24-bit terminal color via COLORTERM=truecolor

* src/term.c (init_tty): When COLORTERM=truecolor is defined,
override setaf/setab/colors terminfo capabilities with 24-bit
color support.

* doc/misc/efaq.texi (Colors on a TTY): Mention the possibility to
enable 24-bit color via the COLORTERM environment variable.

(Bug#41846)

Copyright-paperwork-exempt: yes
This commit is contained in:
Jan Beich 2020-06-14 03:51:24 +00:00 committed by Eli Zaretskii
parent ed08512978
commit 50f489b5dc
2 changed files with 13 additions and 0 deletions

View File

@ -1595,6 +1595,10 @@ xterm-direct2 xterm with direct-color indexing (old)
xterm-direct xterm with direct-color indexing
@end example
If Terminfo database is not available, but 24-bit direct color mode is
supported, it can still be enabled by defining the environment
variable @env{COLORTERM} to @samp{truecolor}.
Terminals with @samp{RGB} capability treat pixels #000001 - #000007 as
indexed colors to maintain backward compatibility with applications
that are unaware of direct color mode. Therefore the seven darkest

View File

@ -4168,6 +4168,15 @@ use the Bourne shell command 'TERM=...; export TERM' (C-shell:\n\
could return 32767. */
tty->TN_max_colors = 16777216;
}
/* Fall back to xterm+direct (semicolon version) if requested
by the COLORTERM environment variable. */
else if ((bg = getenv("COLORTERM")) != NULL
&& strcasecmp(bg, "truecolor") == 0)
{
tty->TS_set_foreground = "\033[%?%p1%{8}%<%t3%p1%d%e38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d%;m";
tty->TS_set_background = "\033[%?%p1%{8}%<%t4%p1%d%e48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d%;m";
tty->TN_max_colors = 16777216;
}
}
#endif