X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Fprompt.bashrc;h=ad5b1e3a67ac9342a4abd775804baaaba9d0701d;hb=6a4d7771ef379836593080fd303b647ed5a853cb;hp=c21a0317ef15d81b4e6e9e499201f09d4dee7253;hpb=abf0b3e51d6136c7208c5854f2ebcbd09f8f5236;p=profile.git diff --git a/.profile.d/prompt.bashrc b/.profile.d/prompt.bashrc index c21a031..ad5b1e3 100644 --- a/.profile.d/prompt.bashrc +++ b/.profile.d/prompt.bashrc @@ -4,21 +4,32 @@ # 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 -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