2013-12-22 72 views
5

如何將Urxvt的窗口標題設置爲Zsh shell中當前正在運行的(交互式)命令?帶Zsh的Urxvt動態窗口標題?

例如,如果我正在運行journalctl,我想journalctl顯示爲窗口標題。目前窗口標題只顯示urxvt,如果我沒有運行任何命令,這很好。

回答

-1

可能是一個過度的解決方案,但安裝oh-my-zsh並使用其默認配置給我一個動態的窗口標題。請參見下面的屏幕截圖爲例:

enter image description here

+0

當然是矯枉過正。順便說一句,它確實是另一個答案所說的;它可以在'lib/termsupport.zsh'中看到。 –

8

,這是可能與PRECMD和preexec鉤。我用這個爲我的xterm。它可能沒有修改。如果不是,那麼調整的地方是設置終端標題的轉義序列,這裏是ESC,],0,;。

case $TERM in 
    (*xterm* | rxvt) 

    # Write some info to terminal title. 
    # This is seen when the shell prompts for input. 
    function precmd { 
     print -Pn "\e]0;zsh%L %(1j,%j job%(2j|s|); ,)%~\a" 
    } 
    # Write command and args to terminal title. 
    # This is seen while the shell waits for a command to complete. 
    function preexec { 
     printf "\033]0;%s\a" "$1" 
    } 

    ;; 
esac