]> git.cworth.org Git - notmuch-wiki/blobdiff - initial_tagging.mdwn
NEWS for version 0.23.7
[notmuch-wiki] / initial_tagging.mdwn
index 1e0fcc1824623e5325badc5a44349035d8c5c163..669b8b1c17d9c9a9f1cc2a43f7729bcbcca87c52 100644 (file)
@@ -1,11 +1,20 @@
+[[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
 # Approaches to initial tagging of messages
 
 This page collects scripts and strategies for organizing mail using
 notmuch and doing automated initial tagging.
 
 # Approaches to initial tagging of messages
 
 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:
 
     [new]
     tags=new;
 
     [new]
     tags=new;
@@ -19,14 +28,16 @@ following:
     notmuch tag -new -- tag:new and from:me@example.com
 
     # delete all messages from a spammer:
     notmuch tag -new -- tag:new and from:me@example.com
 
     # delete all messages from a spammer:
-    notmuch tag +deleted -- from:spam@spam.com
+    notmuch tag +deleted -- tag:new and from:spam@spam.com
 
     # tag all message from notmuch mailing list
 
     # tag all message from notmuch mailing list
-    notmuch tag +notmuch -- to:notmuch@notmuchmail.org
+    notmuch tag +notmuch -- tag:new and to:notmuch@notmuchmail.org
 
     # 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.
 
@@ -34,32 +45,28 @@ You can use the `post-new` hook, which is automatically run after `notmuch new`,
 to do post-processing. See `man notmuch-hooks` for details on hooks.
 
 
 to do post-processing. See `man notmuch-hooks` for details on hooks.
 
 
-# Other solutions
+## Other solutions
 
 
-* [This
-  email](http://notmuchmail.org/pipermail/notmuch/2010/001691.html)
-  (and related thread) details Carl Worth's approach to tagging. It is
-  email id:87r5o8stbj.fsf@yoom.home.cworth.org in the notmuch mailing
-  list archives.
+* [Carl Worth's approach to tagging](https://notmuchmail.org/pipermail/notmuch/2010/001691.html). It
+  is email id:87r5o8stbj.fsf@yoom.home.cworth.org in the notmuch
+  mailing list archives.
 
 
 
 
-* [This
-  email](http://notmuchmail.org/pipermail/notmuch/2010/001690.html)
-  (and related thread) details one user's setup, which includes using
-  the inbox tag as a "new mail" flag. It is email
-  id:87hbp5j9dv.fsf@hackervisions.org in the notmuch mailing list
-  archives.
+* [One user's setup](https://notmuchmail.org/pipermail/notmuch/2010/001690.html)
+  (id:87hbp5j9dv.fsf@hackervisions.org), which includes using the
+  inbox tag as a "new mail" flag.
 
 
-* [This email](http://notmuchmail.org/pipermail/notmuch/2011/003976.html)
-  details another user's setup, which uses a dedicated tag for marking new mail,
-  which is then sorted with a python script using Bogofilter for spam detection.
-  This is generally a great deal faster than a shell-scripted approach.
-  This approach introduces a workflow built around a "watch" tag. Here, the user
-  is only presented with threads as they are started. At this point the user can
-  choose to watch the thread, in which case future messages will be tagged with
-  "inbox", or ignore it. This provides an excellent means for dealing with a
-  large flux of messages with a low signal-to-noise.  It is email
-  id:"87tyfu3k5a.fsf@gmail.com" in the notmuch mailing list archives.
+* [Another user's setup](https://notmuchmail.org/pipermail/notmuch/2011/003976.html)
+  (id:"87tyfu3k5a.fsf@gmail.com"), which uses a dedicated tag for
+  marking new mail, which is then sorted with a python script using
+  Bogofilter for spam detection.  This is generally a great deal
+  faster than a shell-scripted approach.  This approach introduces a
+  workflow built around a "watch" tag. Here, the user is only
+  presented with threads as they are started. At this point the user
+  can choose to watch the thread, in which case future messages will
+  be tagged with "inbox", or ignore it. This provides an excellent
+  means for dealing with a large flux of messages with a low
+  signal-to-noise.
 
 * [afew](https://github.com/teythoon/afew) is an initial tagging
   solution that should work out of the box for most basic tagging
 
 * [afew](https://github.com/teythoon/afew) is an initial tagging
   solution that should work out of the box for most basic tagging
@@ -67,9 +74,12 @@ to do post-processing. See `man notmuch-hooks` for details on hooks.
   of sent mails) and has some fancy features (e.g. mail classification
   using bayesian filters).
 
   of sent mails) and has some fancy features (e.g. mail classification
   using bayesian filters).
 
-# Notmuch Delivery Agent -- `notmuch-deliver`
+* [p6-notmuch-filter](https://github.com/goneri/p6-notmuch-filter) a initial
+  tagging script that read its configuration from a JSON file. The script is
+  written in Perl6 and depends on the Email::Notmuch binding.
+
+## Notmuch MDA -- `notmuch-insert`
 
 
-The [Notmuch Delivery Agent](http://github.com/alip/notmuch-deliver/)
-([announcement](http://notmuchmail.org/pipermail/notmuch/2010/002871.html)) is
-a tool for delivering emails to maildir, add them to the Notmuch database, and
-tag them as desired.
+The [[notmuch insert command|manpages/notmuch-insert-1]] is a tool for
+delivering emails to maildir, indexing them to the Notmuch database, and tagging
+them as desired.