From: Chris Koeritz Date: Wed, 15 Aug 2018 14:05:28 +0000 (-0400) Subject: fixed terminal title problem X-Git-Tag: 2.140.114^2~13 X-Git-Url: https://feistymeow.org/gitweb/?p=feisty_meow.git;a=commitdiff_plain;h=92085a5a47db220490e1133e889b04322346f9bf fixed terminal title problem working around gnome-terminal not supplying WINDOWID by using xdotool. sigh. yet another workaround requiring an extra software install. --- diff --git a/scripts/tty/terminal_titler.sh b/scripts/tty/terminal_titler.sh index df3e6a8c..cb5c9a0e 100644 --- a/scripts/tty/terminal_titler.sh +++ b/scripts/tty/terminal_titler.sh @@ -33,7 +33,7 @@ function set_terminal_title() { 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 @@ -50,9 +50,11 @@ function get_terminal_title() # 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