diff options
author | Florian Pritz <f-p@gmx.at> | 2009-04-06 19:43:27 +0200 |
---|---|---|
committer | Florian Pritz <f-p@gmx.at> | 2009-04-06 19:43:27 +0200 |
commit | 40a3dc796bb93accf7ff6c98a53a7d64cf463fac (patch) | |
tree | fc2bce4f3ac23e2217adff58fd7362e2278bdb02 | |
parent | 07f70d71c16ac614e8083fd4edbd2f19b3328e0c (diff) | |
download | bin-40a3dc796bb93accf7ff6c98a53a7d64cf463fac.tar.gz bin-40a3dc796bb93accf7ff6c98a53a7d64cf463fac.tar.xz |
moved bashburn to bashrun.sh
-rwxr-xr-x | bashrun | 106 | ||||
-rwxr-xr-x[l---------] | bashrun.sh | 107 |
2 files changed, 106 insertions, 107 deletions
diff --git a/bashrun b/bashrun deleted file mode 100755 index b571a52..0000000 --- a/bashrun +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# -# usage: bashrun [geometry] (default: 40x1) -# -# NOTE: commands entered will have an '&' appended before being run, -# so don't append it yourself, it will fail silently. -# -# rcfile: $HOME/.bashrunrc -# -# --------------------------------------------------------------------- - -GEOM=${1:-40x1} - -# create .bashrunrc unless present -BASHRUNRC=$HOME/.bashrunrc -if [ ! -f $BASHRUNRC ]; then -( -cat <<'EOF' -# which X terminal to use: -# (xterm|rxvt|urxvt|mrxvt|aterm|mlterm) -XTERM=urxvtc - -# history file and options: -HISTFILE=$HOME/.bashrun_history -HISTCONTROL=ignoredups:erasedups - -# bind <TAB> to menu-complete. Makes <TAB> cycle through completions on -# the current line instead of paging all possible completions -bind '"\t": menu-complete' - -# bind <C-g> to send ^D -# (<C-g> is the default quit-chain-key in emacs, ratpoison, etc) -bind '"\C-g"':"\"\x04\"" - -# set a simple prompt -PS1=">" - -# ***DO NOT EDIT BEYOND THIS LINE*** -# -# bind ENTER to add ' &' to command -bind '"\x0d"':"\" &\n\"" -EOF -) > $BASHRUNRC -fi - -. $BASHRUNRC - -error() { - if [ `which zenity` ]; then - zenity --title bashrun --error --text "$@" - elif [ `which kdialog` ]; then - kdialog --title bashrun --error "$@" - elif [ `which xmessage` ]; then - xmessage "$@" - fi - echo -en "\007" - echo $@ -} - -# run bash terminal -if [ "$XTERM" = "xterm" ]; then - $XTERM -name 'bashrun' \ - -title 'bashrun' \ - -geometry $GEOM \ - -e "/bin/bash --rcfile $BASHRUNRC -i -t" - -elif [[ "$XTERM" = "aterm" || "$XTERM" = "mlterm" ]]; then - $XTERM -name 'bashrun' \ - -title 'bashrun' \ - -geometry $GEOM +sb \ - -e /bin/bash --rcfile $BASHRUNRC -i -t - -elif [[ "$XTERM" = "urxvt" || "$XTERM" = "rxvt" ]] || [ "$XTERM" = "urxvtc" ]; then - $XTERM -name 'bashrun' \ - -title 'bashrun' \ - -geometry $GEOM \ - -e sh -c "/bin/bash --rcfile $HOME/.bashrunrc -i -t" - - -elif [ "$XTERM" = "mrxvt" ]; then - $XTERM -name 'bashrun' \ - -title 'bashrun' \ - -geometry $GEOM +sb -ht \ - -e sh -c "/bin/bash --rcfile $BASHRUNRC -i -t" -else - error "$XTERM is not supported. Please check $BASHRUNRC" - exit 1 -fi - -# history cleanup... -# remove trailing whitespace and '&' from the last history line -tac $HISTFILE | sed "1s/\&//;s/ *$//" | tac > $HISTFILE - -# HISTCONTROL won't work on its own because bash applies the -# 'ignoredups' and 'erasedups' rules to 'command &'. - -# apply 'ignoredups' if set -if [[ "$HISTCONTROL" =~ "ignoredups" || "$HISTCONTROL" =~ "ignoreboth" ]]; then - uniq $HISTFILE $HISTFILE.tmp - mv $HISTFILE.tmp $HISTFILE -fi - -# apply 'erasedups' if set -if [[ "$HISTCONTROL" =~ "erasedups" ]]; then - tac $HISTFILE | gawk '!x[$0]++' - | tac > $HISTFILE -fi diff --git a/bashrun.sh b/bashrun.sh index b37f7f0..b571a52 120000..100755 --- a/bashrun.sh +++ b/bashrun.sh @@ -1 +1,106 @@ -bashrun
\ No newline at end of file +#!/bin/bash +# +# usage: bashrun [geometry] (default: 40x1) +# +# NOTE: commands entered will have an '&' appended before being run, +# so don't append it yourself, it will fail silently. +# +# rcfile: $HOME/.bashrunrc +# +# --------------------------------------------------------------------- + +GEOM=${1:-40x1} + +# create .bashrunrc unless present +BASHRUNRC=$HOME/.bashrunrc +if [ ! -f $BASHRUNRC ]; then +( +cat <<'EOF' +# which X terminal to use: +# (xterm|rxvt|urxvt|mrxvt|aterm|mlterm) +XTERM=urxvtc + +# history file and options: +HISTFILE=$HOME/.bashrun_history +HISTCONTROL=ignoredups:erasedups + +# bind <TAB> to menu-complete. Makes <TAB> cycle through completions on +# the current line instead of paging all possible completions +bind '"\t": menu-complete' + +# bind <C-g> to send ^D +# (<C-g> is the default quit-chain-key in emacs, ratpoison, etc) +bind '"\C-g"':"\"\x04\"" + +# set a simple prompt +PS1=">" + +# ***DO NOT EDIT BEYOND THIS LINE*** +# +# bind ENTER to add ' &' to command +bind '"\x0d"':"\" &\n\"" +EOF +) > $BASHRUNRC +fi + +. $BASHRUNRC + +error() { + if [ `which zenity` ]; then + zenity --title bashrun --error --text "$@" + elif [ `which kdialog` ]; then + kdialog --title bashrun --error "$@" + elif [ `which xmessage` ]; then + xmessage "$@" + fi + echo -en "\007" + echo $@ +} + +# run bash terminal +if [ "$XTERM" = "xterm" ]; then + $XTERM -name 'bashrun' \ + -title 'bashrun' \ + -geometry $GEOM \ + -e "/bin/bash --rcfile $BASHRUNRC -i -t" + +elif [[ "$XTERM" = "aterm" || "$XTERM" = "mlterm" ]]; then + $XTERM -name 'bashrun' \ + -title 'bashrun' \ + -geometry $GEOM +sb \ + -e /bin/bash --rcfile $BASHRUNRC -i -t + +elif [[ "$XTERM" = "urxvt" || "$XTERM" = "rxvt" ]] || [ "$XTERM" = "urxvtc" ]; then + $XTERM -name 'bashrun' \ + -title 'bashrun' \ + -geometry $GEOM \ + -e sh -c "/bin/bash --rcfile $HOME/.bashrunrc -i -t" + + +elif [ "$XTERM" = "mrxvt" ]; then + $XTERM -name 'bashrun' \ + -title 'bashrun' \ + -geometry $GEOM +sb -ht \ + -e sh -c "/bin/bash --rcfile $BASHRUNRC -i -t" +else + error "$XTERM is not supported. Please check $BASHRUNRC" + exit 1 +fi + +# history cleanup... +# remove trailing whitespace and '&' from the last history line +tac $HISTFILE | sed "1s/\&//;s/ *$//" | tac > $HISTFILE + +# HISTCONTROL won't work on its own because bash applies the +# 'ignoredups' and 'erasedups' rules to 'command &'. + +# apply 'ignoredups' if set +if [[ "$HISTCONTROL" =~ "ignoredups" || "$HISTCONTROL" =~ "ignoreboth" ]]; then + uniq $HISTFILE $HISTFILE.tmp + mv $HISTFILE.tmp $HISTFILE +fi + +# apply 'erasedups' if set +if [[ "$HISTCONTROL" =~ "erasedups" ]]; then + tac $HISTFILE | gawk '!x[$0]++' - | tac > $HISTFILE +fi |