X-Git-Url: https://git.donarmstrong.com/?p=home-base.git;a=blobdiff_plain;f=.bashrc;h=56950bfba2155d5f50cee9d4d4068553739c037a;hp=e0af9c23564be586bad131236caf407f8d2a016d;hb=509b0099859d6baaae998f44ed82732e456c1e56;hpb=00e1ec9e64437e58956bf93271ca9e05fcb7698d diff --git a/.bashrc b/.bashrc index e0af9c2..56950bf 100644 --- a/.bashrc +++ b/.bashrc @@ -32,9 +32,45 @@ if [ "$PS1" ]; then # set a fancy prompt #printf '\33]2;%s\007' - PS1="\[\033[0;36m\]\h \t \w$\[\033[0m\] " + # we want to set the color based on what machine we're on + # if it's a remote, SSH_CONNECTION will be set + if [ -n "$SSH_CONNECTION" ]; then + # figure out what color to use + COLOR=$(hostname|md5sum|perl -ne 'if (/^([a-f\d]{8})/) { + my $num = unpack(q(L),pack(q(h*),$1)); + my @col = map {(qq(0;${_}m),qq(1;${_}m))} 31..37; + my $col = $col[$num%$#col]; + if ($col eq q(0;36m)) { + $col = q(1;30m); + } + print $col; + }') + PS1="\[\033[$COLOR\]\h \[\033[0;36m\]\t \w$\[\033[0m\] " + unset COLOR + else + PS1="\[\033[0;36m\]\h \t \w$\[\033[0m\] " + fi; # \[\033[1;36m\][\w]\n\[\033[0;36m\][\h|\t]$ \[\033[0m\] + # make sure the term we're using exists in the termcap + TOEOPT='-a' + if ! toe $TOEOPT >/dev/null 2>&1; then + TOEOPT='' + fi; + if ! toe $TOEOPT|grep -q "^$TERM "; then + # if it doesn't, try to switch + case $TERM in + rxvt*) + TERM="rxvt" + ;; + xterm*) + TERM="xterm" + ;; + *) + ;; + esac + export TERM; + fi; # If this is an xterm set the title to user@host:dir case $TERM in screen|xterm*)