X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=customizing%2Ffred%2Fscripts%2Fssh.sh;h=f9cdb7ca7275744b561eefd4c4d217681ae4bf6a;hb=8cae6bcb0a4c8962c18d50f7323558dddf299b2f;hp=2e1b3742f227cfabc167ca9f4762f54089e9a52a;hpb=8581b6c87895dcc6445a270f42bdc9483ff28ed2;p=feisty_meow.git diff --git a/customizing/fred/scripts/ssh.sh b/customizing/fred/scripts/ssh.sh index 2e1b3742..f9cdb7ca 100755 --- a/customizing/fred/scripts/ssh.sh +++ b/customizing/fred/scripts/ssh.sh @@ -2,7 +2,23 @@ # wraps our calling the secure shell and lets us pick our credentials. -source "$FEISTY_MEOW_SCRIPTS/security/pick_credentials.sh" +source "$FEISTY_MEOW_LOADING_DOCK/custom/scripts/pick_credentials.sh" + +# save the former terminal title if we're running in X with xterm. +prior_title= +if [ "$TERM" == "xterm" ]; then + prior_title="$(xprop -id $WINDOWID | perl -nle 'print $1 if /^WM_NAME.+= \"(.*)\"$/')" +fi + +# force the TERM variable to a more generic version for other side. +# we don't want the remote side still thinking it's running xterm. +export TERM=linux + +#hmmm: it would be good to set an interrupt handler here and +# trap ctrl-c, since otherwise we are getting exited from and losing a chance +# to reset the terminal title. this actually happens a lot, since some X11 +# or other background process is left running and the ssh never actually quits, +# forcing one to hit ctrl-c. if [ ! -z "$keyfile" ]; then \ssh -i "$keyfile" -X -C -c blowfish-cbc $* @@ -15,7 +31,11 @@ if [ $? -eq 0 ]; then if [ -z "$(echo $* | grep git)" ]; then # re-run the terminal labeller after coming back from ssh. # we check the exit value because we don't want to update this for a failed connection. - bash $FEISTY_MEOW_SCRIPTS/tty/label_terminal_with_infos.sh + if [ -z "$prior_title" ]; then + bash $FEISTY_MEOW_SCRIPTS/tty/label_terminal_with_infos.sh + else + bash $FEISTY_MEOW_SCRIPTS/tty/set_term_title.sh "$prior_title" + fi fi fi