summaryrefslogtreecommitdiff
path: root/.fmail
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2017-08-05 10:20:58 -0400
committerSean Whitton <spwhitton@spwhitton.name>2017-08-05 10:20:58 -0400
commit39e12afbbd1ae53f07f4162854da69b5e7ba0c24 (patch)
treebae4e4690e41b9b5425082de67d33f8237848f6d /.fmail
parentf6ed664a8fb9ed25dcb33ce747cce21cff453990 (diff)
downloaddotfiles-39e12afbbd1ae53f07f4162854da69b5e7ba0c24.tar.gz
fix path to notmuch hooks
Diffstat (limited to '.fmail')
-rwxr-xr-x.fmail/.notmuch/hooks/post-new15
-rwxr-xr-x.fmail/.notmuch/hooks/pre-new44
2 files changed, 59 insertions, 0 deletions
diff --git a/.fmail/.notmuch/hooks/post-new b/.fmail/.notmuch/hooks/post-new
new file mode 100755
index 00000000..c8532d44
--- /dev/null
+++ b/.fmail/.notmuch/hooks/post-new
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+. $HOME/.shenv
+
+# mark all sent mail as read
+notmuch tag -unread -- folder:sent
+
+# mark all drafts as drafts, and as read
+notmuch tag -unread +draft -- folder:drafts
+
+# mark all spam as spam
+notmuch tag +spam -- folder:spam
+
+# mark all trash as trash
+notmuch tag +deleted -- folder:trash
diff --git a/.fmail/.notmuch/hooks/pre-new b/.fmail/.notmuch/hooks/pre-new
new file mode 100755
index 00000000..6af993dd
--- /dev/null
+++ b/.fmail/.notmuch/hooks/pre-new
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+. $HOME/.shenv
+
+# The primary purpose of my pre-new and post-new scripts is to
+# maintain the 'draft', 'spam', 'deleted' and 'unread' tags such that
+# the only data in the notmuch database that cannot be reproduced from
+# the Maildir is which threads have been killed, which is not
+# important information. Then there is no need to sync the notmuch
+# database between machines. Syncing the maildir with mbsync(1) is
+# sufficient.
+
+# Note that another aspect of this setup is not using an 'inbox' tag.
+
+# In this script, we move mail according to tags that may have been
+# added since the last 'notmuch new' run. Then we sync with my IMAP
+# server. Then in the post-new script we add tags to new messages in
+# particular folders
+
+# ensure all drafts are in the drafts folder
+floating_drafts=$(notmuch search --output=files -- tag:draft and not folder:drafts)
+if [ ! -z "$floating_drafts" ]; then
+ mdmv $floating_drafts $HOME/.fmail/drafts
+fi
+
+# propagate the 'killed' tag to all messages in the killed message's thread
+killed_threads=$(notmuch search --output=threads tag:killed)
+if [ ! -z "$killed_threads" ]; then
+ notmuch tag -unread -- $killed_threads
+fi
+
+# ensure all spam is in the spam folder to train FastMail's spam filter
+floating_spam=$(notmuch search --output=files -- tag:spam and not folder:spam)
+if [ ! -z "$floating_spam" ]; then
+ mdmv $floating_spam $HOME/.fmail/spam
+fi
+
+# ensure all deleted messages are in the trash folder
+floating_deleted=$(notmuch search --output=files -- tag:deleted and not folder:trash)
+if [ ! -z "$floating_deleted" ]; then
+ mdmv $floating_deleted $HOME/.fmail/trash
+fi
+
+movemail