- title="$*"
- # if we weren't given a title, then use just the hostname. this is the degraded functionality.
- if [ -z "${title}" ]; then
- title="$(hostname)"
+ # this is an important value now; it is checked for in save_terminal_title.
+ local term_title_found="unknown"
+ # save the former terminal title if we're running in X with xterm.
+ which xprop &>/dev/null
+ if [ $? -eq 0 ]; then
+ # gnome-terminal doesn't set WINDOWID currently, but we can work around this.
+ if [[ -z "$WINDOWID" && ! -z "$(which xwininfo)" ]]; then
+#not good solution. term_title_found="$(xprop -id $(xdotool getactivewindow) | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
+ term_title_found=$(xwininfo -id $(xprop -root | awk '/NET_ACTIVE_WINDOW/ { print $5; exit }') | awk -F\" '/xwininfo:/ { print $2; exit }')
+ # 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