X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Ftty%2Fterminal_titler.sh;h=7ced5c9fc83caa8093a303fb5406a936b29c39aa;hb=refs%2Ftags%2F2.140.114;hp=9ef4f1c10c15347dd116745aa4260d4ddd257b98;hpb=79562d8c24ba1d79fb91ab22ca0d534bc77efac0;p=feisty_meow.git diff --git a/scripts/tty/terminal_titler.sh b/scripts/tty/terminal_titler.sh index 9ef4f1c1..7ced5c9f 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,8 +50,12 @@ 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 [[ "$TERM" =~ .*"xterm".* && ! -z "$WINDOWID" ]]; 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 fi