{
apply_title_to_terminal $*
-#tricky tries to get it to be available when we ask for it in get_terminal_title
+#tricky attempts to get it to be available when we ask for it in get_terminal_title
sync
# echo -n
# save the former terminal title if we're running in X with xterm.
which xprop &>/dev/null
if [ $? -eq 0 ]; then
- # make sure we're actually using xterm *and* that we have a window ID.
- if [[ ! -z "$GNOME_TERMINAL_SCREEN" ]]; then
- term_title_found="$(xprop -id $WINDOWID | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
+ # gnome-terminal doesn't set WINDOWID currently, but we can work around this if xdotool
+ # is installed.
+ if [[ -z "$WINDOWID" && ! -z "$(which xdotool)" ]]; then
+ term_title_found="$(xprop -id $(xdotool getactivewindow) | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
+ # check if we're actually using xterm *and* that we have a window ID.
elif [[ "$TERM" =~ .*"xterm".* && ! -z "$WINDOWID" ]]; then
term_title_found="$(xprop -id $WINDOWID | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
fi