cacafire

cacafire

这个程序看起来很酷,但是给它一个红色确实让我的电脑看起来像是着火了。我认为使用 grep 或类似的管道命令可以做到这一点,但我看到它打印颜色的 ASCII 转义码,并删除输出的特殊格式,使其看起来像火。

答案1

cacafire

ASCII fire( aafire) 是用现在死的创建的libaa。这实际上可能早于终端颜色代码(我不记得了)。然而,较新的版本仍然保留libcaca其中提供了cacafire.

卡卡火

答案2

使用命令行标志,您可以将输出配置为显示在终端而不是弹出窗口中。

aafire -driver stdout -width 80 # match width of your terminal
aafire --help # see available options

现在,可以使用 shell 应用程序的首选项来控制颜色。例如,我在 Ubuntu 上使用 gnome-terminal,所以我只需进入菜单“编辑”>“配置文件首选项”。

至于更改字体颜色和背景颜色本身,原则上这似乎是可能的:

aatest

请注意,第一行有蓝色背景。我想这是通过指定背景颜色的转义字符来完成的。您可以找到很多关于此问题的讨论,有人询问更改 bash 提示符颜色

为了插入转义字符来更改颜色,我不确定是否可以从 shell 中执行此操作。也许您可以编写一个自定义 bash 脚本,它接受来自 stdin 的输入,将 aafire 的输出通过管道传输到您的脚本中,回显变色字符,最后回显来自 stdin 的消息。

或者,您可能必须调用该库,例如从 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);
}

示例源代码来自aalib 文档

答案3

尝试这个

aafire -driver curses

相关内容