X-Git-Url: https://projects.mako.cc/source/muttjump/blobdiff_plain/85b54fd20a7b1b98a5628cede99216c596ca80eb..ddaf20157510c72e3fcde908b16cd8aa65991131:/muttjump diff --git a/muttjump b/muttjump index 73c6bc1..37dd0c2 100755 --- a/muttjump +++ b/muttjump @@ -3,8 +3,8 @@ # muttjump # -# This script makes mail indexers (like mairix, mu or nmzmail) together with -# mutt more useful. +# This script makes mail indexers (like mairix, mu, nmzmail, or +# notmuch) together with mutt more useful. # # These search engines usually create a virtual maildir containing symbolic # links to the original mails, which can be browsed using mutt. @@ -18,7 +18,7 @@ # # macro generic ,j "push muttjump" "jump to original message" -# one of: mairix, mu, mu-old (mu < 0.7) and nmzmail +# one of: mairix, mairix-git, mu, mu-old (mu < 0.7), nmzmail or notmuch (>0.5) MUTTJUMP_INDEXER=${MUTTJUMP_INDEXER:-} # "limit" or "search" (default) @@ -43,7 +43,7 @@ if ! type MUTTJUMP_SCREEN_WINDOW_NAME_MANGLE >/dev/null 2>&1 ; then fi # Version of GNU screen -# Since 4.01.00devel (commit 98b6b41) backslash for -X handling was altered. +# Since 4.01.00devel (commit 98b6b41) backslash handling for -X was altered. MUTTJUMP_SCREEN_VERSION=${MUTTJUMP_SCREEN_VERSION:-auto} # program paths @@ -51,6 +51,7 @@ MUTT=${MUTT:-mutt} MAIRIX=${MAIRIX:-mairix} MU=${MU:-mu} NMZMAIL=${NMZMAIL:-nmzmail} +NOTMUCH=${NOTMUCH:-notmuch} SCREEN=${SCREEN:-screen} FORMAIL=${FORMAIL:-formail} REFORMAIL=${REFORMAIL:-reformail} @@ -164,6 +165,9 @@ msgid_clean=$(echo "$msgid" | sed -e 's/^$//') # try to locate path of message using a mail search engine case $MUTTJUMP_INDEXER in + mairix-git) + orig_msgfiles=$($MAIRIX -r "m:$msgid_clean") + ;; mairix) msgid_mairix=$msgid_clean # mairix can't quote special characters (~,/=^) in search words. As a @@ -188,6 +192,9 @@ case $MUTTJUMP_INDEXER in orig_msgfiles=$(find "$nmzmail_results" -type l -exec readlink {} \;) rm -rf "$nmzmail_results" ;; + notmuch) + orig_msgfiles=$($NOTMUCH search --output=files "id:$msgid_clean") + ;; "") die "variable MUTTJUMP_INDEXER not set or empty" ;;