Browse Source

* NOTES: more notes about colours.

tags/v0.99.beta14
Sam Hocevar sam 21 years ago
parent
commit
3d0ffe3e17
1 changed files with 68 additions and 19 deletions
  1. +68
    -19
      NOTES

+ 68
- 19
NOTES View File

@@ -4,35 +4,84 @@ $Id$
many terminal emulators and tried to summarise which combinations
worked properly and which ones did not.

o In an XTerm terminal, the following shell commands output all possible
foreground/background combinations:
o I tested the following terminals:

for fgpre in "" '\e[0;1m'; do for fg in 0 4 2 6 1 5 3 7; do
for bgpre in 4 10; do
echo -ne "$fgpre"'\e[3'$fg'm'
for bg in 0 4 2 6 1 5 3 7; do echo -ne '\e['$bgpre$bg'm# '; done
echo -ne '\e[0;0m '
name $TERM $COLORTERM
------------------------------------------
Linux console linux
pterm xterm
aterm xterm rxvt-xpm
wterm xterm wterm-xpm
Eterm xterm Eterm
xterm xterm
gnome-terminal xterm
konsole xterm
mlterm mlterm
uxterm xterm

o In most terminals, \e[3xm and \[4xm respectively set the foreground
and background colours. x is an colour between 0 and 7 or the value
9 for default value.

\e[0m sets everything to normal, \e[1m sets bold, \e[5m sets blink
and \e[7m sets inverse video.

In ncurses, only 64 colour pairs are created, and A_BOLD (\e[1m) and
A_BLINK (\e[5m) are used for foreground/background colour highlighting,
hence creating 256 possible colour pairs.

Different tests of blue on yellow:

for invert in '' '\e[7m'; do
for blink in '' '\e[5m'; do
for bold in '' '\e[1m'; do
echo -ne "$bold$blink$invert"'\e[34m\e[43m'hop'\e[0m '
echo "($bold$blink$invert)"
done
done
echo ''
done; echo ''; done
done

Successfully works on:
+ Linux console
+ pterm
+ Eterm
+ aterm, wterm, rxvt

Successfully tested
Almost works on:
+ xterm (bright bg works for blue, but not for red or yellow)

o ncurses:
Fails on:
+ mlterm (no bright colours, neither fg nor bg)
+ gnome-terminal (no bright bg)
+ konsole (no bright bg, $blink really blinks)

* bright combinations work in the following terminals:
o In an XTerm-compatible terminal, \e[9xm sets bright foreground and
\e[10xm bright background colours. Unfortunately all terminals don't
support these escape sequences. Here is a testcase:

- Linux console (TERM=linux)
- pterm (TERM=xterm)
for fgpre in 3 9; do for fg in 0 4 2 6 1 5 3 7; do
for bgpre in 4 10; do
echo -ne '\e['$fgpre$fg'm'
for bg in 0 4 2 6 1 5 3 7; do echo -ne '\e['$bgpre$bg'm# '; done
echo -ne '\e[0m '
done
echo ''
done; echo ''; done

* bright text on bright background is rendered as bright text on
normal background in the following terminals:
Successfully tested on:
+ gnome-terminal
+ konsole
+ xterm
+ pterm

- xterm (TERM=xterm)
- gnome-terminal (TERM=xterm)
Failed (\e[9x and \e[10x don't work) on:
+ Eterm
+ aterm, wterm, rxvt
+ mlterm
+ linux

o S-Lang:

o MS-DOS: all bright colours, bright backgrounds, and bright combinations
work using <conio.h>.
work using <conio.h>. No need to kludge anything.


Loading…
Cancel
Save