Refactor DISABLE_AUTO_TITLE to be more DRY
This commit is contained in:
parent
044012b965
commit
bb609fce12
@ -3,6 +3,7 @@
|
||||
#Fully support screen, iterm, and probably most modern xterm and rxvt
|
||||
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
|
||||
function title {
|
||||
[ "$DISABLE_AUTO_TITLE" != "true" ] || return
|
||||
if [[ $TERM =~ "^screen" ]]; then
|
||||
print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
|
||||
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
||||
@ -16,17 +17,13 @@ ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
|
||||
|
||||
#Appears when you have the prompt
|
||||
function precmd {
|
||||
if [ "$DISABLE_AUTO_TITLE" != "true" ]; then
|
||||
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
|
||||
fi
|
||||
}
|
||||
|
||||
#Appears at the beginning of (and during) of command execution
|
||||
function preexec {
|
||||
if [ "$DISABLE_AUTO_TITLE" != "true" ]; then
|
||||
emulate -L zsh
|
||||
setopt extended_glob
|
||||
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
|
||||
title "$CMD" "%100>...>$2%<<"
|
||||
fi
|
||||
}
|
||||
|
Reference in New Issue
Block a user