如何使用“tput”命令设置终端的标题?

如何使用“tput”命令设置终端的标题?

我发现这个答案多年来,我一直以一种天真的方式在提示中设置终端颜色。

我现在已经修改了 .bashrc,使用“tput”命令来为提示符的各个元素着色。我剩下的一个转义代码是:

TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"

是否有人知道是否有一个 tput/terminfo 属性可以用来设置我的终端窗口的标题栏,以便我可以消除这种转义?

答案1

实际功能是 tsl(至状态行)和 fsl(从状态行),但当然并非所有终端都具备这些功能。特别是在 Linux 中,您需要将终端设置为 xterm+sl 或类似功能。

你可以用以下方法测试

export TERM=xterm+sl
echo `tput tsl` Hello world `tput fsl`; sleep 10

我不会费心将这些转义符保留在 .bashrc 中

答案2

我无法发表评论,因此有一个额外的答案:

如果您使用 tsl/fsl,请务必先向终端询问 hs。如果支持 tsl/fsl(和其他 *sl),则 hs 应该为真。

tput hs && { echo ....; }

答案3

查看了 xterm terminfo 文件后,我找不到任何与该命令相同的代码,因此我怀疑没有。

如果您有兴趣,terminfo 手册页列出了 termcap 和 terminfo 理解的所有命令。我使用以下命令反编译了 terminfo 数据库文件:

# infocmp -L xterm

答案4

有关 xterm 的“vt100 模式”特殊功能的更多信息,请参阅Xterm 控制序列请参阅操作系统控制部分中的文档以了解所有详细信息。

相关内容