X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=getmail;h=5d739a9609d9ddde25157eb82d67d73250e6f381;hb=32dd5b77200d893951c21395995ffa942eca1d5f;hp=62e37de799d5cf9c53cd0015dd1435b400709c42;hpb=ba3ae711e29b067133f76287df002e94fbbb8404;p=bin.git diff --git a/getmail b/getmail index 62e37de..5d739a9 100755 --- a/getmail +++ b/getmail @@ -1,10 +1,20 @@ #!/bin/sh +if [ -n "$VERBOSE" ]; then + set -x +fi; + +cmd_exists () { + if which "$1" >/dev/null 2>&1; then + return 0; + else + return 1; + fi; +} + # Configure the two things below for your MUA and the host being run. IMAPHOST=$( awk -F= '/remotehost/{print $2}' ~/.offlineimaprc | head -n 1 ) -MUA=mutt - -#set -x +MUAS="neomutt mutt mutt-ng" # Don't check mail if ~/.nocheck exists and we're not running # interactively. @@ -17,18 +27,20 @@ if [ -z "$HOSTNAME" ]; then fi; IONICE="" -if which ionice >/dev/null 2>&1; then +if cmd_exists "ionice"; then IONICE="ionice -c 3" fi; -# if we are running under cron +# if we are running under cron and there is no running MUA, exit if [ -n "$CRON" ]; then - # and there is no MUA open, exit - if ! kill -0 `pgrep -U $(id -u) -x $MUA` 2>/dev/null; then - exit 0; - fi; - # if there is not a working ssh master, exit. - if ! ssh -O check $IMAPHOST 2>&1|grep -q running; then + RUNNING_MUA=0 + for MUA in $MUAS; do + if kill -0 `pgrep -U $(id -u) -x $MUA` 2>/dev/null; then + RUNNING_MUA=1 + break; + fi; + done; + if [ "x$RUNNING_MUA" = "x0" ]; then exit 0; fi; fi; @@ -54,7 +66,7 @@ if [ -z "$PID" ]; then perl -ne 'my ($account,$list) = /UID validity problem for folder ([\w-]+)\.([\w-]+)/; next unless defined $account and length $account; qx(/home/don/bin/deletemailbox -a Inbox $account.$list > /dev/null);'; - if which notmuch >/dev/null 2>&1; then + if cmd_exists "notmuch"; then nice -n 19 ${IONICE} notmuch new >/dev/null 2>&1; fi; fi;