X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Fprompt.bashrc;h=cf133c7725cbc8835751151d175e4817621f833d;hb=bcf2f3f85cd948a432f8f4d86b112c59b07dbd27;hp=6c2e2bb685387936fe0da223742f69d74f3e608e;hpb=8ec5790d6c5eb9f833f1bb3c0e36c578c419a70d;p=profile.git diff --git a/.profile.d/prompt.bashrc b/.profile.d/prompt.bashrc index 6c2e2bb..cf133c7 100644 --- a/.profile.d/prompt.bashrc +++ b/.profile.d/prompt.bashrc @@ -4,22 +4,33 @@ # 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\\007'" exit + info="$info$vimchild" +fi +blank=$(echo "$info" | sed 's/./ /g') +if [ "${TERM##screen}" = "$TERM" ]; then + export PROMPT_COMMAND="echo -ne '\033]0;$info\007\r$blank \r'" else - VIMCHILD= + export PROMPT_COMMAND='echo -ne "\033k\033\\"' 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