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 many terminal emulators and tried to summarise which combinations
worked properly and which ones did not. 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 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 S-Lang:


o MS-DOS: all bright colours, bright backgrounds, and bright combinations 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