3 个版本
使用旧的 Rust 2015
0.42.2 | 2017年1月22日 |
---|---|
0.42.1 | 2015年5月26日 |
0.42.0 | 2015年5月8日 |
#11 in #virtual-terminal
25KB
563 行
VTCOL
改变虚拟 Linux 控制的配色方案。受 setcolors 工具的启发。
用法
vtcol 知道两种加载配色方案的方式:要么选择预定义方案的设置,要么从定义文件中加载。后者接受 setcolors 支持的格式。请注意,并没有花太多精力确保兼容性,因此可能因系统而异。检查 vtcol 树中的子目录./schemes以获取示例。
预定义了三种配色方案
使用 vtcol 并指定--scheme选项来指定您选择的方案
vtcol --scheme solarized_light
要查看可用的方案,请使用--list选项。如果指定的方案不是预定义方案之一,vtcol 将将名称解释为文件名。同样,通过指定--file参数从定义文件直接加载方案。
vtcol --file ./schemes/solarized
这些参数接受-作为参数以从stdin.
读取。此外,为了查看方案的定义,例如为了验证 vtcol 是否正确解析它,请指定--dump选项。
vtcol --dump default vtcol --dump ./schemes/solarized
这将按照方案指定的方式打印颜色定义列表;如果指定的名称不解析为预定义方案,则将其解释为文件名。
背景
Linux 终端附带的默认调色板是从虚拟控制台实现的漫长历史继承而来的。指定的颜色是为了完全合理的实用主义原因。然而,调色板可能不符合每个人的品味。不幸的是,控制台不容易进行主题化:需要调用特殊的ioctl(2)以二进制形式准备的颜色,以便内核切换调色板。
vtcol 试图通过简单的纯文本输入格式来简化控制台的主题化。包括来自 Solarized 家族的非常受欢迎的主题作为预定义的调色板;Linux 默认调色板也是如此,因此它们在实验时可以方便地恢复。
C 中实现的 vtcols 吸取了许多灵感来自 setcolors 工具。 vtcols 本身是用 Rust 实现的;可以在 Github 上找到其公共仓库。作者大量使用了原始的 setcolors,主要在其自定义 initramfs 中。编写 vtcols 的主要动机来自于好奇心,想知道如何使用更现代的工具实现相同的目标。
依赖关系
~485KB