Document the default initial tags, and the behavior when sync already
read mails with synchronize_flags=true.
In the meantime, add a title for the *new* tag approach.
# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
#
# Changes to be committed:
# modified: initial_tagging.mdwn
#
This page collects scripts and strategies for organizing mail using
notmuch and doing automated initial tagging.
This page collects scripts and strategies for organizing mail using
notmuch and doing automated initial tagging.
-Here's a very general and ad-hoc approach to initial message tagging.
The `[new]` config section allows you to control which tags new messages
The `[new]` config section allows you to control which tags new messages
-receive. This sets all new messages to get the *new* tag:
+receive. By default, `notmuch config` will use the tags *inbox* and *unread*.
+
+If `maildir.synchronize_flags` is true (which is the default), Maildir flags
+have precedence over the initial tags. Thus an already read mail gets its
+initial *unread* tag correctly removed.
+
+## The *new* tag approach
+
+Here's another very general and ad-hoc approach to initial message tagging,
+which sets all new messages to get the *new* tag:
# finally, retag all "new" messages "inbox" and "unread"
notmuch tag +inbox +unread -new -- tag:new
# finally, retag all "new" messages "inbox" and "unread"
notmuch tag +inbox +unread -new -- tag:new
+Note that the command above will mark a new but already-read mail as unread.
+
Since the post-processing is only acting on a few messages, it is
generally extremely fast.
Since the post-processing is only acting on a few messages, it is
generally extremely fast.