Next Previous Contents

3. 动态主题

许多人发现这在显示一些动态信息时相当有用, 比如 使用者所登入的主机名称, 现行的工作目录, 等等.

3.1 xterm 溢位序列

一个已在执行的 xterm 的视窗及图示的主题都可以透过溢位序列来变更. 下列列出跟这个设定有关的序列:

在这里 ESC 是指 escape 字元 (\033), 而BEL 是指 bell 字元 (\007).

在 xterm 里头就可以使得视窗及图示的主题变更.

注意: 这些序列可以应用到大部份 xterm 衍生的程序, 比如 nxterm, color-xtermrxvt. 其他的 终端机类型大都使用不一样的序列; 参考附录所列举的范例. 如要参考 xterm 所有的溢位序列参考这个文档 ctlseq2.txt, 这会随著 xterm 的套件发行, 或 xterm.seq, 随著 rxvt 套件发行.

3.2 印出这些序列

有些信息在命令解译器的生命周期中是自始至终都不变的, 比如 主机名称 及 使用者名称, 那么在命令解译器的初始启动档 (rc file) 用 echo 指令印出这些字串就够了:

echo -n "\033]0;${USER}@${HOST}\007"
应该会产生像 username@hostname 这样的主题, 假设命令解译器的变数 $USER$HOST 都已设定正确的话. echo 所需的选项依命令解译器使用的类型而有所不同 (参考下面的说明).

有些信息在命令解译器的生命周期中是一直在变的, 比如 现行工作目录, 这些溢位信息就必须在每次提示字元变化时随著改变. 这下子字串就会在每次你输入命令时更新, 而且你还可以追踪保留 现行目录, 使用者名, 主机名, 等信息. 部份命令解译器提供这类用途的特殊功能, 有些则没有. 而我们就必须直接插入主题溢位信息到题示字串中. 这会在下一节中说明


Next Previous Contents