256 color mlterm

追記: upstream にもっと良いバージョンのものを入れてくださったので、 CVS のバージョンを使ってください。

http://sourceforge.net/scm/?type=cvs&group_id=40891

ちょっと前に作業してた mlterm の 256 色化を上げときます。

http://shinh.skr.jp/dat_dir/mlterm-2.9.4_256.patch

作っといてなんですが、よく考えると w3m-256 とか欲しいんだろうか…とかいうことと、 ml_char_t が 64bit に綺麗におさまってたのがあふれてしまって悲しいとかいう理由で私自身は使わない気がするのでした。少なくとも 64bit におさめないとだめだ。今だに LANG=EUC-JP な私のような人で、 64bit におさまってないのがどうしても気になる偏執狂の方は、 mlterm/ml_char.h の

 #define  MAX_CHAR_SIZE  4

を 2 にしてもたぶん動くのでそれでご利用下さい。

スクリーンショットとか。

http://shinh.skr.jp/dat_dir/mlterm256_test.png

http://shinh.skr.jp/dat_dir/mlterm256_icon.png

前者は http://frexx.de/xterm-256-notes/ のへんから 256colors2.pl を拾ってくると良いです。ていうかこれ実行すると mlterm が刺さるのはあんまりだと思った。

後者は SDL の我等が icon.bmp を適当に変換したものです。

http://shinh.skr.jp/dat_dir/icon.txt

を拾って

% cat icon.txt

などとして実行して下さい。 cat で始める僕らのグラフィックプログラミング。

で、具体的にやったのは、 \x1b[38;5;%d で文字色変更、 \x1b[48;5;%d で背景色変更、 \x1b]4;%d;rgb:%02x/%02x/%02x で %d の部分で指定された色番号の色を rgb の後に変更、というヤツです。 rgb: は本当は blue とかもできるはずっぽいですが、まぁいいだろとやめました。 %d の部分で本当は 0-15 も変えれるっぽいんですが、それもまぁいいだろと。そのへんはいずれやるかも。あと上述の通り 256colors2.pl が刺さるのは悲しいのでそれは修正しときました。

参考文献: http://invisible-island.net/xterm/ctlseqs/ctlseqs.txt

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h