]> git.cworth.org Git - notmuch-wiki/blobdiff - howto.mdwn
Howto: Reference alternative mutt integration
[notmuch-wiki] / howto.mdwn
index 4dad0b6040a36428f985a1ac5fe455ed3b22ca36..fea9e522424c7356be1b048e56f3447213ae6ec0 100644 (file)
@@ -26,13 +26,13 @@ various "third party" notmuch utilities.
 
   * [fetchmail](http://fetchmail.berlios.de/)
 
-  See the [[initial_tagging]] page for more info on intial tagging of messages.
+  See the [[initial_tagging]] page for more info on initial tagging of messages.
 
 * <span id="python">**Use notmuch from python**</span>
 
   Notmuch includes python bindings to the notmuch shared
   library. Extensive API documentation [is
-  available](http://notmuchmail.readthedocs.org/).
+  available](http://notmuch.readthedocs.org/).
 
   The bindings are very simple to use.  As an example, given you have
   the python bindings installed (or simply set your PYTHONPATH
@@ -82,19 +82,46 @@ various "third party" notmuch utilities.
   MUA.
 
   A popular geek MUA is [the Mutt e-mail client](http://www.mutt.org);
-  integrating notmuch with Mutt is fairly straightforward. An
-  [**how to use Notmuch with Mutt**](http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/)
-  has been written by Stefano Zacchiroli, together with some glue code. Check
-  out the
-  [howto](http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/)
-  for more information.
-
-  <small>(Note by the howto author: I've linked the howto from this wiki rather
-  than splicing it in, in order to avoid duplication of information. If you
-  think it would be better to have it here, feel free to copy the text
-  here. The howto is
-  [available](http://git.upsilon.cc/cgi-bin/gitweb.cgi?p=zack-homepage.git;a=history;f=blog/posts/2011/01/how_to_use_Notmuch_with_Mutt.mdwn)
-  in markdown syntax from the Git repository of my homepage.)</small>
+  integrating notmuch with Mutt is not seamless, but fairly straightforward.
+  There are two principal possibilities, each with its own ups and downs:
+
+  * Using mutt-notmuch, which will create a "virtual" maildir folder with
+    search results whenever a search is made. The upside is that you can
+    search all your folders simultanously; the downside is that your
+    modifications in the results listing do not carry over, also having
+    to switch folders comes with some more annoyances.
+
+    An
+    [**how to use Notmuch with Mutt**](http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/)
+    has been written by Stefano Zacchiroli. Check out the
+    [howto](http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/)
+    for more information.
+
+    <small>(Note by the howto author: I've linked the howto from this wiki rather
+    than splicing it in, in order to avoid duplication of information. If you
+    think it would be better to have it here, feel free to copy the text
+    here. The howto is
+    [available](http://git.upsilon.cc/cgi-bin/gitweb.cgi?p=zack-homepage.git;a=history;f=blog/posts/2011/01/how_to_use_Notmuch_with_Mutt.mdwn)
+    in markdown syntax from the Git repository of my homepage.)</small>
+
+  * Using a simple macro that will emulate the "limit" mutt functionality
+    using notmuch.
+
+    See the [**alternative notmuch integration**](http://log.or.cz/?p=228)
+    blog post for instructions and details,
+    or simply put these two macros to your muttrc:
+
+                           # 'L' performs a notmuch query, showing only the results
+                           macro index L "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern"
+                           # 'a' shows all messages again (supersedes default <alias> binding)
+                           macro index a "<limit>all\n" "show all messages (undo limit)"
+
+    The upside (if you are used to working in the context of a single folder)
+    is that this really does use the limit functionality of mutt
+    and you are still in your original folder.
+    The downside is that this approach has scaling problems
+    and works well only for reasonably specific queries.
+
 
 * <span id="reapply_auto">**Automatically retagging the database (e.g., when upgrading versions)**</span>
 
@@ -138,3 +165,7 @@ various "third party" notmuch utilities.
   output.  Using the instructions from [Gmane's
   site](http://gmane.org/export.php), we can download an mbox file, which we
   can then convert to maildir using mb2md or other utility.
+
+* <span id="special_tags">**Take advantage of tags that are special to notmuch**</span>
+
+  See [[tags special to notmuch|special-tags]].