various improvements mostly email
[distro-setup] / brc
diff --git a/brc b/brc
index 99c4e819fd09ac6d396ce6640f5f7961800b7064..b232c9ed97d893933b71d597524481b265edcd69 100644 (file)
--- a/brc
+++ b/brc
@@ -107,12 +107,16 @@ if [[ $- == *i* ]]; then
     bind '"\C-i": self-insert'
   else
 
+    if [[ $KONSOLE_PROFILE_NAME ]]; then
+      TERM=xterm-256color
+      fi
+
     # todo: not sure this works in sakura
     #stty werase undef
     #bind "\C-w": kill-region
     # sakura == xterm-256color
     # konsole == xterm
-    if [[ $TERM == "xterm" ]]; then
+    if [[ $TERM == xterm* ]]; then
       # control + arrow keys. for other terminals, see http://unix.stackexchange.com/questions/10806/how-to-change-previous-next-word-shortcut-in-bash
       bind '"\e[1;5C": shell-forward-word' 2>/dev/null
       bind '"\e[1;5D": shell-backward-word' 2>/dev/null
@@ -165,8 +169,8 @@ export PROFILE_TASKS_TASK_OUTPUT_LIMIT=100
 C_DEFAULT_DIR=/a
 
 # i for insensitive. the rest from
-# https://superuser.com/questions/366930/how-do-i-get-the-git-pager-to-clean-up-screen-output-after-exit
-# and reading the man
+# X means dont remove the current screenworth of output upon exit
+# R means to show colors n things
 export LESS=RXi
 export SYSTEMD_LESS=$LESS
 
@@ -179,13 +183,18 @@ unset _x
 for x in /a/bin/bash_unpublished/source-!(.#*); do source $x; done
 source $(dirname $(readlink -f $BASH_SOURCE))/path_add-function
 source /a/bin/log-quiet/logq-function
-if [[ -e /a/bin/errhandle/err ]]; then
-  source /a/bin/errhandle/err
-  err-allow
-fi
-# if someone exported $SOE (stop on error), catch errors
+# if someone exported $SOE (stop on error), catch errors.
+#
+# Note, on debian this results in the following warning when in ssh,
+# hich I haven't figured out how to fix. It doesn't happen if we source
+# after the shell has started
+#
+# bash: /usr/share/bashdb/bashdb-main.inc: No such file or directory
+# bash: warning: cannot start debugger; debugging mode disabled
 if [[ $SOE ]]; then
-  err-catch
+  if [[ -e /a/bin/errhandle/err ]]; then
+    source /a/bin/errhandle/err
+  fi
 fi
 
 path_add /a/exe
@@ -726,7 +735,7 @@ fdup() {
   local p
   fdroidcl update
   if fdroidcl search -u | grep ^org.fdroid.fdroid; then
-    fdroidcl upgrade org.fdroid.fdroid
+    fdroidcl install org.fdroid.fdroid
     sleep 5
     fdroidcl update
   fi
@@ -745,7 +754,7 @@ fdup() {
   done
   for p in ${!installed[@]}; do
     if ! ${updated[$p]:-true}; then
-      fdroidcl upgrade $p
+      fdroidcl install $p
       sleep 5
     fi
   done
@@ -982,6 +991,9 @@ grr() { # grep recursive
     grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -RiIP --color=auto "$@"
   fi
 }
+rg() {
+  command rg -i -M 200 "$@"
+}
 
 hstatus() {
   # do git status on published repos
@@ -1091,25 +1103,8 @@ ifn() {
        -o -name .hg -prune -o -name .editor-backups -prune \
        -o -name .undo-tree-history -prune \) -iname "*$**" 2>/dev/null
 }
-ifnl() {
-}
 
 
-if [[ $OS == Windows_NT ]]; then
-  # cygstart wrapper
-  cs() {
-    cygstart "$@" &
-  }
-  xp() {
-    explorer.exe .
-  }
-  # launch
-  o() {
-    local x=(*$1*)
-    (( ${#x[#]} > 1 )) && { echo "warning ${#x[#]} matches found"; sleep 1; }
-    cygstart *$1* &
-  }
-else
   o() {
     if type gvfs-open &> /dev/null ; then
       gvfs-open "$@"
@@ -1118,7 +1113,6 @@ else
     fi
     # another alternative is run-mailcap
   }
-fi
 
 ipdrop() {
   s iptables -A INPUT -s $1 -j DROP
@@ -1285,6 +1279,20 @@ net-dev-info() {
 
 }
 
+nk() {
+  ser stop NetworkManager
+  ser stop dnsmasq
+  s resolvconf -d NetworkManager
+  ser start dnsmasq
+  s ifup br0
+}
+ngo() {
+  s ifdown br0
+  ser start NetworkManager
+  sleep 4
+  s nmtui-connect
+}
+
 nopanic() {
   sudo tee -a /var/log/exim4/paniclog-archive </var/log/exim4/paniclog; sudo truncate -s0 /var/log/exim4/paniclog
 }
@@ -1420,6 +1428,11 @@ r() {
 rbpipe() { rbt post -o --diff-filename=- "$@"; }
 rbp() { rbt post -o "$@"; }
 
+rebr() {
+  s ifdown br0
+  s ifup br0
+}
+
 resolvcat() {
   local f
   f=/etc/resolv.conf
@@ -1568,16 +1581,6 @@ srestart() {
     systemctl restart $service
   fi
 }
-stopnm() {
-  ser stop NetworkManager
-  ser stop dnsmasq
-  s resolvconf -d NetworkManager
-  ser start dnsmasq
-}
-startnm() {
-  ser start NetworkManager
-  s nmtui-connect
-}
 
 setini() { # set a value in a .ini style file
   key="$1" value="$2" section="$3" file="$4"
@@ -2012,23 +2015,6 @@ wian() {
 
 wtr() { curl wttr.in/boston; }
 
-xl() {
-  if pgrep gnome-screensav &>/dev/null; then
-    # this command actually starts gnome-screensaver if it isn\'t running.
-    # lololol, what crap
-    gnome-screensaver-command --exit &>/dev/null
-  fi
-  mate-screensaver-command --exit &>/dev/null
-  if ! pidof xscreensaver; then
-    pushd /
-    xscreensaver &
-    popd
-    # 1 was not long enough
-    sleep 3
-  fi
-  xscreensaver-command -activate
-}
-
 xevkb() { xev -event keyboard; }
 
 # * misc stuff
@@ -2285,12 +2271,16 @@ unset IFS
 # commented until i want to use it because it
 # noticably slows bash startup
 #
-#if [[ $EUID != 0 && -e ~/.pyenv/bin ]]; then
-#  export PATH="~/.pyenv/bin:$PATH"
-#  eval "$(pyenv init -)"
-#  eval "$(pyenv virtualenv-init -)"
-#fi
 
+mypyenvinit () {
+  if [[ $EUID == 0 || ! -e ~/.pyenv/bin ]]; then
+    echo "error: dont be root. make sure pyenv is installed"
+    return 1
+  fi
+  export PATH="~/.pyenv/bin:$PATH"
+  eval "$(pyenv init -)"
+  eval "$(pyenv virtualenv-init -)"
+}
 
 
 export GOPATH=$HOME/go
@@ -2303,8 +2293,12 @@ path_add /usr/local/go/bin
 # ARDUINO_PATH=/a/opt/Arduino/build/linux/work
 export ARDUINO_PATH=/a/opt/arduino-1.8.9
 
+# They want to be added to the start, but i think
+# that should be avoided unless we really need it.
 path_add --end ~/.npm-global
 
+path_add --end $HOME/.cargo/bin
+
 # taken from default changes to bashrc and bash_profile
 path_add --end $HOME/.rvm/bin
 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*