From 9675a9f5b894ba739e1223b892bc44bf4a835d39 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Thu, 26 Feb 2009 18:19:58 +0100 Subject: [PATCH] Move code to change window title to own function. This prevents code duplication. --- zsh/rc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) 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 -- 2.44.2