various fixes and mail improvements
[distro-setup] / brc
diff --git a/brc b/brc
index b232c9ed97d893933b71d597524481b265edcd69..bf8548f11dee9c65259cbca9395dd6eea1c311eb 100644 (file)
--- a/brc
+++ b/brc
@@ -157,7 +157,7 @@ HISTCONTROL=ignoredups
 # works in addition to HISTCONTROL to do more flexible things
 # it could also do the same things as HISTCONTROL and thus replace it,
 # but meh. dunno why, but just " *" does glob expansion, so use [ ] to avoid it.
-HISTIGNORE='pass *:[ ]*:lom*:gram*'
+HISTIGNORE='pass *:[ ]*:otp *:oathtool *'
 
 export BC_LINE_LENGTH=0
 
@@ -1713,6 +1713,9 @@ srun() {
   ssh $1 /tmp/${2##*/} "${@:2}"
 }
 
+ssh() {
+  BASH_LOGIN_SHELL=true command ssh "$@"
+}
 sss() { # ssh solo
   ssh -oControlMaster=no -oControlPath=/ "$@"
 }
@@ -1806,9 +1809,8 @@ testmail() {
   # MSG_ID is in /var/log/exim4/mainlog, looks like 1ccdnD-0001nh-EN
 }
 
-# to test sieve, use below command. for fsf mail, see fsf-get-mail script.
+# to test sieve, use below command. for fsf mail, see offlineimap-sync script
 # make modifications, then copy to live file, use -eW to actually modify mailbox
-# cp /p/c/subdir_files/sieve/personal{test,}.sieve; testsievelist -eW INBOX
 #
 # Another option is to use sieve-test SCRIPT MAIL_FILE. note,
 # sieve-test doesnt know about envelopes, Im not sure if sieve-filter does.
@@ -1816,15 +1818,17 @@ testmail() {
 # sieve with output filter. arg is mailbox, like INBOX.
 # This depends on dovecot conf, notably mail_location in /etc/dovecot/conf.d/10-mail.conf
 
-testsievelist() {
-  sieve-filter ~/sieve/maintest.sieve "$@" >/tmp/testsieve.log 2> >(tail) && sed -rn '/^Performed actions:/{n;n;p}' /tmp/testsieve.log | sort -u
+_dosieve() {
+  sieve-filter "$@" 2> >(head; tail) >/tmp/testsieve.log  && sed -rn '/^Performed actions:/,/^[^ ]/{/^ /p}' /tmp/testsieve.log | sort | uniq -c
 }
 
-
-# mail related
-# plain sieve
+# always run this first, edit the test files, then run the following
 testsieve() {
-  sieve-filter ~/sieve/main.sieve "$@"
+  _dosieve ~/sieve/maintest.sieve ${1:-INBOX} delete
+}
+runsieve() {
+  c ~/sieve; cp personal{test,}.sieve; cp lists{test,}.sieve
+  _dosieve ~/sieve/main.sieve -eW ${1:-INBOX} delete
 }
 
 # mail related
@@ -2153,7 +2157,7 @@ if [[ $- == *i* ]]; then
 
 
     case $return in
-      0) ps_color="$(get_term_color blue)"
+      0) ps_color="$(get_term_color purple)"
          ps_char='\$'
          ;;
       1) ps_color="$(get_term_color green)"
@@ -2175,6 +2179,10 @@ if [[ $- == *i* ]]; then
     if [[ -e /nocow/btrfs-stale ]] && ((`command ls -AUq /nocow/btrfs-stale|wc -l`)); then
       ps_char="! $ps_char"
     fi
+    if [[ -e /nocow/mailtest-failure ]]; then
+      ps_char="@#$@#$ $ps_char"
+    fi
+    source /a/bin/bash_unpublished/source-state
     if [[ ! $SSH_CLIENT && $MAIL_HOST != $HOSTNAME ]]; then
       ps_char="@ $ps_char"
     fi