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