#
SSH_FORWARDED=$(get_remote_ip -n)
-if [ ! -z "$SSH_FORWARDED" -a ! "$SSH_ORIGINAL_COMMAND" = "/usr/NX/bin/nxnode" ]; then
- if [ ! "$SSH_FORWARDED" = "62.189.242.202" -a ! "$SSH_FORWARDED" = "62.189.241.202" ]; then
+if [ ! -z "$SSH_FORWARDED" ]; then
+ if [ ! "$SSH_FORWARDED" = "62.189.242.202" -a ! "$SSH_FORWARDED" = "62.189.241.202" -a ! "$SSH_FORWARDED" = "193.128.72.68" -a ! "$SSH_FORWARDED" = "localhost" ]; then
SSH_FORWARDED=" (from $SSH_FORWARDED)"
else
SSH_FORWARDED=
fi
fi
-else
- SSH_FORWARDED=""
-fi
+
+# Unscientific check for grid jobs.
+case ${SSH_CLIENT##* } in
+ ""|22|2222);;
+ *) SSH_FORWARDED="$SSH_FORWARDED [grid]"
+esac
+
+info="$HOSTNAME$SSH_FORWARDED"
+
+# Check for vim.
+vimchild=" [vim]"
if ps -o comm= -p $PPID 2>/dev/null | grep '^vim*$' &>/dev/null; then
- VIMCHILD=" [vim]"
+ # Clear [vim] when exiting.
+ trap "echo -ne '\\033]0;$info\\033\\0134'" exit
+ info="$info$vimchild"
+fi
+if [ "${TERM##screen}" = "$TERM" ]; then
+ export PROMPT_COMMAND="echo -ne '\033]0;$info\033\0134\r\033[K'"
else
- VIMCHILD=
+ export PROMPT_COMMAND='echo -ne "\033k\033\0134"'
fi
-info="$HOSTNAME$SSH_FORWARDED$VIMCHILD"
-blank=$(echo $info | sed 's/./ /g')
-export PROMPT_COMMAND="echo -ne '\033]0;$info\007\r$blank\r'"
-unset info blank SSH_FORWARDED VIMCHILD
+unset blank info vimchild SSH_FORWARDED