Command title behavior no longer depend on local zsh configuration

Fix by derekjw. closes #52.
This commit is contained in:
Renaud (Nel) Morvan 2011-04-04 13:44:48 +02:00
parent d138751cbd
commit a3e92892bb

View File

@ -3,7 +3,7 @@
#Fully support screen, iterm, and probably most modern xterm and rxvt #Fully support screen, iterm, and probably most modern xterm and rxvt
#Limited support for Apple Terminal (Terminal can't set window or tab separately) #Limited support for Apple Terminal (Terminal can't set window or tab separately)
function title { function title {
if [[ "$TERM" == "screen" ]]; then if [[ $TERM =~ "^screen" ]]; then
print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
print -Pn "\e]2;$2:q\a" #set window name print -Pn "\e]2;$2:q\a" #set window name
@ -24,6 +24,8 @@ function precmd {
#Appears at the beginning of (and during) of command execution #Appears at the beginning of (and during) of command execution
function preexec { function preexec {
if [ "$DISABLE_AUTO_TITLE" != "true" ]; then 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 local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
title "$CMD" "%100>...>$2%<<" title "$CMD" "%100>...>$2%<<"
fi fi