diff --git a/office/.config/notmuch/default/hooks/pre-new b/office/.config/notmuch/default/hooks/pre-new deleted file mode 100755 index 5af5606..0000000 --- a/office/.config/notmuch/default/hooks/pre-new +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env sh -# Little script which moves some tags to specific folders. -# -# These 'folder-tags' (e.g. trash, archive, inbox) are transient tags -# which then get removed when the file is in the correct folder. -# -# So later when trying to find the emails always use the 'folder:< >' -# notmuch search, not the 'tag:< >' search - as the tag only signals that -# an e-mail is currently still in the 'wrong' folder and a move action -# is necessary. - -MAIL_DIR="$MAIL_PATH" -MAIL_DIR="${XDG_DOCUMENTS_DIR:-$HOME/documents}/mail" - -# all folders: -archive -drafts +inbox -jobs -junk -receipts -sent -trash - -# idea: archive, inbox, trash, sent -> transient tags -# if anything is tagged, it should be moved into the folder and the tag removed. -# Transient tags describe the _type_ of a message (essentially its importance to me) -# -# jobs, junk, receipts -> describe _what_ a message is (topics etc) -# -> stable tags, which stay on a message - -move_and_untag() { - tag_to_remove=$1 # e.g. trash - folder=$2 # e.g. Trash - filter="tag:$tag_to_remove not folder:$folder" - id_list=$(notmuch search --output=messages --format=text "$filter") - # echo "Moving $(notmuch count "$filter") messages to $folder." # TODO: optional loud mode? - notmuch search --output=files --format=text0 "$filter" | xargs -0 --no-run-if-empty mv -t "$MAIL_DIR/$folder/new/" - if [ "$id_list" != "" ]; then - echo "$id_list" | sed -e "s/^/-$tag_to_remove -- /" | notmuch tag --batch - fi -} - -move_and_untag trash Trash -move_and_untag inbox Inbox -move_and_untag archive Archive -move_and_untag sent Sent