X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.profile.d%2Fprompt.bashrc;h=07c9f9df6a27aff1a789b318713a07280b5aced7;hp=e6a8236c27063f0774ba6e92e9bff0dcc2314c52;hb=17fe5f9a625b6468f08359204c1b7254a70f1dd9;hpb=a3b73b945d5309afe9759b8f8c8de35a2b57a345 diff --git a/.profile.d/prompt.bashrc b/.profile.d/prompt.bashrc index e6a8236..07c9f9d 100644 --- a/.profile.d/prompt.bashrc +++ b/.profile.d/prompt.bashrc @@ -5,22 +5,36 @@ SSH_FORWARDED=$(get_remote_ip -n) if [ ! -z "$SSH_FORWARDED" ]; then - if [ ! "$SSH_FORWARDED" = "62.189.242.202" -a ! "$SSH_FORWARDED" = "62.189.241.202" ]; 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 +# 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 # Clear [vim] when exiting. - trap "echo -ne '\\033]0;$info\\007'" exit + trap "echo -ne '\\033]0;$info\\033\\0134'" exit info="$info$vimchild" fi -blank=$(echo "$info" | sed 's/./ /g') -export PROMPT_COMMAND="echo -ne '\033]0;$info\007\r$blank \r'" +if [ "${TERM##screen}" = "$TERM" ]; then + export PROMPT_COMMAND="echo -ne '\033]0;$info\033\0134\r\033[K'" +else + export PROMPT_COMMAND='echo -ne "\033k\033\0134"' +fi unset blank info vimchild SSH_FORWARDED + +# Actual dtterm barfs on escape sequences. +if [ "$TERMINAL_EMULATOR" = "dtterm" ]; then + unset PROMPT_COMMAND +fi