このプログラムは素晴らしく見えますが、赤を指定するとコンピュータに火がついたようです。私はgrepや同様のパイプコマンドを使うことができると思いましたが、ASCIIエスケープコードをカラーで印刷し、出力の特殊な形式を削除して火のように見えるようにしました。
答え1
cacafire
ASCII fire(aafire
)は現在deadを使用して作成されていますlibaa
。これは実際にはターミナルカラーコードよりも前のものかもしれません(覚えていません)。しかし、最新バージョンではまだ維持されます。libcaca
提供されるものですcacafire
。
答え2
コマンドラインフラグを使用すると、ポップアップウィンドウの代わりに端末に出力が表示されるように設定できます。
aafire -driver stdout -width 80 # match width of your terminal
aafire --help # see available options
これで、シェルアプリケーションのデフォルト設定を使用して色を制御できます。たとえば、私はUbuntuでgnome-terminalを使用しているので、Edit> Profile Preferencesメニューに移動します。
フォントの色と背景色自体を変更することは原則として可能です。
aatest
最初の行の背景は青です。背景色にエスケープ文字を指定すると、これが行われるようです。この問題に関する多くの議論があります。人々は尋ねます。Bashプロンプトの色の変更。
色を変更するためにエスケープ文字を挿入するには、シェルでこれを行うことができるかどうかわかりません。おそらくstdinの入力を受け入れ、aafireの出力をスクリプトにパイプし、変色された文字をエコーし、最後にstdinのメッセージをエコーするカスタムbashスクリプトを書くことができます。
あるいは、Cプログラムなどからライブラリを呼び出す必要があるかもしれません。
#include <stdio.h>
#include <aalib.h>
aa_context *context;
void main(int argc, char **argv)
{
if(!aa_parseoptions(NULL, NULL, &argc, argv) || argc!=1) {
printf("Usage: %s [options]\n"
"Options:\n"
"%s", argv[0], aa_help);
exit(1);
}
context = aa_autoinit(&aa_defparams);
if(context == NULL) {
fprintf(stderr,"Cannot initialize AA-lib. Sorry\n");
exit(2);
}
...
aa_close(context);
}
サンプルのソースコードは以下に提供されています。アリーブ文書。
答え3
この試み
aafire -driver curses