字体的终端转义序列

Tom*_*rka 5 linux bash shell terminal

我想开发的东西:可以同时使用至少2种字体的终端.我将使用一种字体用于shell输入行,另一种字体用于命令输出.例如:

user@host$ ls /home
user user1 user2 user3

原因:更可读的终端/ shell

怎么样:我有问题.可能shell需要生成一些新的转义序列.终端需要加载不同的字体并处理这些序列.从哪儿开始?如何定义新的转义序列,标准在哪里?

未来:也许有人想和我一起参与这个项目?

and*_*otn 5

控制序列的标准几乎是XTerm源代码中的Xterm控件序列文档ctlseqs.ms.(您可以使用该命令将其转换为PDF ,但该选项似乎在Ubuntu 12.04上被破坏).groff -ms -Tps ctlseqs.ms | ps2pdf - ctlseqs.pdf-ms

XTerm已经支持控制序列来改变字体,但是对于整个终端一次.打开xterm并输入你的shell-

echo -e "\033[?35h\033]50;#+1^G\033\\" # aka CSI ? 35 h OSC 50 ; #+1 BEL ST
Run Code Online (Sandbox Code Playgroud)

整个终端的字体应该改变.此控制序列实际上也支持True-Type字体的名称; 见第21页.

如果您想更改现有终端以支持更改内联字体,欢迎您选择几乎未分配的任何控制序列ctrlseqs.ms并使用它们.但是,对于已存在的功能,选择与控制序列类似的新控制序列是个好主意.

下一步是获取现有终端的源代码并开始挖掘.你现在用什么终端?Konsolegnome-terminal的源代码可能比XTerm更容易使用.