文字に色をつける場合には escape sequence を用いる。
color.rb:
#!/usr/koeki/bin/ruby
i = 0
while i < 8
printf("%c[%dm 文字の色が変わります \n",0x1b,30+i)
i += 1
end
j = 0
while j < 8
printf("%c[%d;%dm 背景に色がつきます \n",0x1b,40+j,37-j)
j += 1
end
printf("%c[%d;%dm 太字に変わります \n",0x1b,0,1)
文字の色は 2 進法で 0b11110 から始まり、赤 Red 、緑 Green 、青 Blue ごとに 0b1, 0b10, 0b100 を割り当てて加えている。また、背景色は 0b101000 から始まる。 二つを同時に変更するときには ; をつける。Esc-[ が文字に効果を与える escape sequence (文字コード 0x1b) である。
0x1b[色番号m文字色か背景の変化 0x1b[背景番号;色番号m背景と文字色の変化 色番号は 30 番台, 背景は 40 番台
8 色の背景や文字を使ってカラフルなアートに挑戦してみよう。
背景の色を変えるには
%xsetroot -solid 色
Kterm の色を変えて Kterm を出すには
%kterm -bg 背景 -fg 文字 &
が使えるので、system を使ってプログラムに仕込んでもよい。例:
system("xsetroot -solid red")
system("kterm -bg green -fg white")