SMOLNET PORTAL home about changes

Using notmuch to search email in Mutt


DATE: 2019-01-05
AUTHOR: John L. Godlee


I found that the inbuilt search facility in my email client, Mutt, was not all that powerful, or at least I didn't have the inclination to learn its ways. But I already know how to use notmuch for indexing and searching email, so I wanted to incorporate it into my Mutt workflow.

I made sure I had notmuch on my computer:

brew install notmuch


NeoMutt is meant to come with notmuch support out of the box, so I didn't need to apply the notmuch-mutt[1] patch. I did use this mutt-notmuch-py script[2] though, which I included in my $PATH by adding it to ~/bin.

1: https://notmuchmail.org/notmuch-mutt/ (https://notmuchmail.org)
2: https://github.com/honza/mutt-notmuch-py (https://github.com)


Then, I edited my muttrc to include this macro:

# Search using notmuch
macro index \\ "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py ~/.mail/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "search mail (using notmuch)"


It calls mutt-notmuch-py and puts results based on your query in ~/.mail/temporary/search as a mailbox, then switches to that temporary mailbox.

I also wanted to make search results appear in my sidebar, to be visible until I ran the macro again, so I added it to my sidebar mailbox creation:

# Notmuch search mailbox
mailboxes "+--- search --------"
mailboxes +temporary/search
Response: 20 (Success), text/gemini
Original URLgemini://republic.circumlunar.space/users/johngodlee/post...
Status Code20 (Success)
Content-Typetext/gemini; charset=utf-8