From: Simon Ruderich Date: Thu, 26 Feb 2009 17:19:58 +0000 (+0100) Subject: Move code to change window title to own function. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=9675a9f5b894ba739e1223b892bc44bf4a835d39;p=config%2Fdotfiles.git Move code to change window title to own function. This prevents code duplication. --- diff --git a/zsh/rc b/zsh/rc index 993f447..e49885e 100644 --- a/zsh/rc +++ b/zsh/rc @@ -166,11 +166,7 @@ if [[ $TERM == screen || $TERM == xterm* ]]; then esac # Set the window name to the currently running program. - if [[ $TERM == screen ]]; then - print -n "\ek$program_name\e\\" - elif [[ $TERM == xterm* ]]; then - print -n "\e]2;$program_name\e\\" - fi + window_title "$program_name" # Tell precmd() to reset the window name when the program stops. window_reset=yes @@ -181,16 +177,21 @@ if [[ $TERM == screen || $TERM == xterm* ]]; then [[ -z $window_reset ]] && return # Reset the window name to 'zsh'. - if [[ $TERM == screen ]]; then - print -n "\ekzsh\e\\" - elif [[ $TERM == xterm* ]]; then - print -n "\e]2;zsh\e\\" - fi + window_title "zsh" # Just reset the name, so no screen reset necessary for the moment. window_reset= } + # Sets the window title. Works with screen and xterm. + window_title() { + if [[ $TERM == screen ]]; then + print -n "\ek$1\e\\" + elif [[ $TERM == xterm* ]]; then + print -n "\e]2;$1\e\\" + fi + } + # Add the preexec() and precmd() hooks. add-zsh-hook preexec window_preexec add-zsh-hook precmd window_precmd