Next Previous Contents

5. 显示正在执行的工作名称

通常使用者会启动一个一直在前景执行的工作如 top, 或 一个编辑器, 一个 email 用户端, 等等, 并希望这个工作的名称被显示在 xterm 的主题上. 这是个很棘手的问题且只能在 zsh 环境下可以轻松完成.

5.1 zsh

zsh 为这种需求提供了一个很理想的内建功能:

preexec()   一个在命令执行前一定会叫用的功能函式名
$*,$1,...   传送到 preexec() 的参数
因此, 我们可以用下面的方式把工作名称放到主题上:
case $TERM in
    xterm*)
      preexec () {
        print -Pn "\e]0;$*\a"
      }
    ;;
esac
记住: preexec() 功能函式在 zsh 3.1.2 版出现, 如果你用的版本较旧那就需要更新一下.

5.2 其他命令解译器s

对其它缺少 preexec() 函式的命令解译器, 就不是那么简单了. 如果任何人有范例可以完成同样的工作请把它 email 给作者.


Next Previous Contents