如何將Urxvt的窗口標題設置爲Zsh shell中當前正在運行的(交互式)命令?帶Zsh的Urxvt動態窗口標題?
例如,如果我正在運行journalctl
,我想journalctl
顯示爲窗口標題。目前窗口標題只顯示urxvt
,如果我沒有運行任何命令,這很好。
如何將Urxvt的窗口標題設置爲Zsh shell中當前正在運行的(交互式)命令?帶Zsh的Urxvt動態窗口標題?
例如,如果我正在運行journalctl
,我想journalctl
顯示爲窗口標題。目前窗口標題只顯示urxvt
,如果我沒有運行任何命令,這很好。
可能是一個過度的解決方案,但安裝oh-my-zsh並使用其默認配置給我一個動態的窗口標題。請參見下面的屏幕截圖爲例:
,這是可能與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
當然是矯枉過正。順便說一句,它確實是另一個答案所說的;它可以在'lib/termsupport.zsh'中看到。 –