X-Git-Url: https://git.donarmstrong.com/?p=home-base.git;a=blobdiff_plain;f=.bashrc;h=b0dbc2c3d61054025b37f77c3d736a295a7ee386;hp=fc875dd4279c88c4aebd5c551d5e8e07b33c2085;hb=3b6d44b28c0a2e11630d1bdbd4d213a93fa1a34a;hpb=382dcf28f1cf6b52391340dfac094cfe7a40528c diff --git a/.bashrc b/.bashrc index fc875dd..b0dbc2c 100644 --- a/.bashrc +++ b/.bashrc @@ -25,18 +25,69 @@ if [ "$PS1" ]; then # enable color support of ls and also add handy aliases eval `dircolors -b` alias ls='ls --color=auto' - alias gr='gimp-remote-2.2' + alias gr='gimp-remote' alias emc='sane_editor' + alias svn-b="svn-buildpackage --svn-builder 'pdebuild --buildresult ..' --svn-ignore-new" + # set a fancy prompt - PS1="\[\033[0;36m\]\h \t \w$\[\033[0m\] " + #printf '\33]2;%s\007' + + # See if we're in a chroot + if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) + fi + + # we want to set the color based on what machine we're on + # if it's a remote, SSH_CONNECTION will be set + # set variable identifying the chroot you work in (used in the prompt below) + + 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="${debian_chroot:+($debian_chroot)}\[\033[$COLOR\]\h \[\033[0;36m\]\t \w$\[\033[0m\] " + unset COLOR + else + PS1="${debian_chroot:+($debian_chroot)}\[\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*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' ;; + rxvt*) + PROMPT_COMMAND='echo -ne "\033]2;${USER}@${HOSTNAME}: ${PWD}\007"' + ;; + *) ;; esac @@ -46,6 +97,22 @@ if [ "$PS1" ]; then if [ -f /etc/bash_completion ]; then . /etc/bash_completion; fi; + + # set up ssh-agent + if which ssh-agent >/dev/null && [ -d ~/.ssh ]; then +# for + if [ -e ~/.ssh/ssh_agent_info ] && \ + [ -n "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" ] && \ + kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" >/dev/null 2>&1; then + . ~/.ssh/ssh_agent_info > /dev/null + elif [ -e ~/.ssh/ssh_agent_info_$(hostname) ] && \ + kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info_$(hostname))" >/dev/null 2>&1; then + . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null + else + ssh-agent -s > ~/.ssh/ssh_agent_info_$(hostname) + . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null + fi; + fi; alias aumix2='aumix -d /dev/mixer1 -I' if locale -a |grep -qi en_US.utf8; then @@ -60,28 +127,29 @@ if [ "$PS1" ]; then fi; export TMPDIR="$(echo ~/tmp)"; - for a in tda tdd tde; do - alias "s${a}"="STODO_NO_COMMIT=1 $a" - done; + if [ -n "$(which devtodo)" ]; then + for a in tda tdd tde; do + alias "s${a}"="STODO_NO_COMMIT=1 $a" + done; - TODO_OPTIONS="--timeout --summary" + TODO_OPTIONS="--timeout --summary" - cd () - { - builtin cd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} - } - - pushd () - { - builtin pushd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} - } - - popd () - { - builtin popd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} - } - - # Run todo initially upon login - devtodo ${TODO_OPTIONS} + cd () + { + builtin cd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} + } + pushd () + { + builtin pushd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} + } + + popd () + { + builtin popd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} + } + + # Run todo initially upon login + devtodo ${TODO_OPTIONS} + fi; fi