notmuch/contrib/notmuch-mutt
Tomi Ollila 0d4a3c7185 notmuch-mutt: replace shell pipeline with internal pipe processing
The shell pipeline used to symlink files based in search results
to "cache" directory for mutt(1) to use was prone to portability
problems (due to /bin/sh differences).

The replacement executes `notmuch search` without intermediate shell
(so shell_quote was removed in this case), reads the filenames from
piped output and symlinks files internally.
2020-08-12 20:40:46 -03:00
..
.gitignore Use rooted paths in .gitignore files 2017-08-18 19:42:35 -03:00
Makefile Make notmuch-mutt script more portable 2020-03-22 22:57:25 -03:00
notmuch-mutt notmuch-mutt: replace shell pipeline with internal pipe processing 2020-08-12 20:40:46 -03:00
notmuch-mutt.rc notmuch-mutt: improve robustness of mutt macros 2013-02-16 11:56:55 -04:00
README Use https instead of http where possible 2016-06-05 08:32:17 -03:00

notmuch-mutt: Notmuch (of a) helper for Mutt
============================================

notmuch-mutt provide integration among the [Mutt] [1] mail user agent and the
[Notmuch] [2] mail indexer.

notmuch-mutt offer two main integration features. The first one is the ability
of stating a **search query interactively** and then jump to a fresh Maildir
containing its search results only. The second one is the ability to
**reconstruct threads on the fly** starting from the currently highlighted
mail, which comes handy when a thread has been split across different maildirs,
archived, or the like.

notmuch-mutt enables to trigger mail searches via a Mutt macro (usually F8) and
reconstruct threads via another (usually F9). Check the manpage for the 2-liner
configuration snippet for your Mutt configuration files (~/.muttrc,
/etc/Muttrc, or a /etc/Muttrc.d snippet).

A [blog style introduction] [3] to notmuch-mutt is available and includes some
more rationale for its existence.

Arguably, some of the logics of notmuch-mutt could disappear by adding support
for a --output=symlinks flag to notmuch.


[1]: http://www.mutt.org/
[2]: https://notmuchmail.org/
[3]: https://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/


Requirements
------------

To *run* notmuch-mutt you will need Perl with the following libraries:

- Digest::SHA <https://metacpan.org/release/Digest-SHA>
  (Debian package: libdigest-sha-perl)
- Mail::Box <https://metacpan.org/pod/Mail::Box>
  (Debian package: libmail-box-perl)
- Mail::Header <https://metacpan.org/pod/Mail::Header>
  (Debian package: libmailtools-perl)
- String::ShellQuote <https://metacpan.org/pod/String::ShellQuote>
  (Debian package: libstring-shellquote-perl)
- Term::ReadLine::Gnu <https://metacpan.org/pod/Term::ReadLine::Gnu>
  (Debian package: libterm-readline-gnu-perl)

To *build* notmuch-mutt documentation you will need:

- pod2man (coming with Perl) to generate the manpage
- markdown to generate README.html out of this file


License
-------

notmuch-mutt is copyright (C) 2011-2012 Stefano Zacchiroli <zack@upsilon.cc>.

notmuch-mutt is released under the terms of the GNU General Public License
(GPL), version 3 or above. A copy of the license is available online at
<https://www.gnu.org/licenses/>.