cacafire

cacafire

このプログラムは素晴らしく見えますが、赤を指定するとコンピュータに火がついたようです。私は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

関連情報