#
# When a program is started preexec() sets the window's name to it; when it
# stops precmd() resets the windows' name to 'zsh'.
+#
+# It works with screen and xterm. If screen is running in X11 (DISPLAY is set)
+# and stumpwm is used (it's tested if stumpish is available) then the window
+# title is also set in stumpwm using stumpish.
if [[ $TERM == screen || $TERM == xterm* ]]; then
# Set to a non empty value to reset the window name in the next precmd()
# call.
window_reset=yes
+ # Set to a non empty value when the stump window manager is available.
+ which stumpwm &> /dev/null
+ if [[ $? -eq 0 ]]; then
+ window_stumpwm=yes
+ fi
window_preexec() {
# Get the program name with its arguments.
window_title() {
if [[ $TERM == screen ]]; then
print -n "\ek$1\e\\"
+
+ # Update window name in stumpwm if running screen in X11 and when
+ # stumpwm is used.
+ if [[ -n $DISPLAY && -n $window_stumpwm ]]; then
+ echo "$1" | stumpish -e "title" > /dev/null
+ fi
+
elif [[ $TERM == xterm* ]]; then
print -n "\e]2;$1\e\\"
fi