- local prior_title="$(xprop -id $WINDOWID | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
- if [ ! -z "$prior_title" ]; then
- if [ ! -z "$DEBUG_TERM_TITLE" ]; then
- echo "saving prior terminal title as '$prior_title'"
- fi
- export PRIOR_TERMINAL_TITLE="$prior_title"
- else
- if [ ! -z "$DEBUG_TERM_TITLE" ]; then
- echo "not saving prior terminal title which was empty"
- fi
- fi
+ term_title_found="$(xprop -id $WINDOWID | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')"
+ fi
+ fi
+ echo "$term_title_found"
+}
+
+# reads the current terminal title, if possible, and saves it to our record.
+function save_terminal_title()
+{
+ local title="$(get_terminal_title)"
+ if [ ! -z "$title" ]; then
+ # there was a title, so save it.
+ if [ ! -z "$DEBUG_TERM_TITLE" ]; then
+ echo "saving prior terminal title as '$prior_title'"
+ fi
+ export PRIOR_TERMINAL_TITLE="$prior_title"
+ else
+ # the terminal had no title, or we couldn't access it, or there's no terminal.
+ if [ ! -z "$DEBUG_TERM_TITLE" ]; then
+ echo "not saving prior terminal title which was empty"