On Wed, 22 Dec 2021, at 22:50, Oleg A. Mamontov wrote: > The feature of neomutt that completely determines my choice is an > elegant built-in integration with notmuch. Really worth to try.
Like Oleg I see the notmuch integration including the notmuch:// protocol for folders as the biggest selling point of notmuch these days plus the Lua scripting interface. That being said, while I could see myself not being able to do without that much notmuch in a business setting where mutt would be front and center of my emailing and day-to-day work; for my private use, mutt is enough --- I use notmuch mainly for search across mailboxes and detailed search, and for that, these trusty macros have been in my muttrc for years unchanged and do the job: macro generic,index,pager <F2> \ "<shell-escape>mbsync -aq<enter><shell-escape>notmuch new<enter>" "fetch mail" macro index <F7> \ "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ <shell-escape>notmuch-mutt -r --prompt search<enter>\ <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ "notmuch: search mail" macro index <F8> \ "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ <pipe-message>notmuch-mutt -r thread<enter>\ <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ "notmuch: reconstruct thread" Most of my email processing these days is also happening server-side (starting from SPF, DKIM, DMARC, ARC and ending at Sieve) so that I simply do not need turing-complete script bindings via Lua in my MUA. This used to be different (msmtp > procmail > (filter chain) > mailbox, but not anymore.