]> granicus.if.org Git - neomutt/commit
notmuch: Synchronise tags to flags
authorKevin Velghe <kevin@paretje.be>
Sun, 14 Aug 2016 22:24:20 +0000 (00:24 +0200)
committerRichard Russon <rich@flatcap.org>
Thu, 6 Oct 2016 22:24:08 +0000 (23:24 +0100)
commit1d48603f0e14dd31feb3dd940e6512ea40698bf1
tree4f38d7bf6ab4a1e35e8763257bdac157fce02f34
parentf8160285f285c0bc3c93a2672ea1169af2f04481
notmuch: Synchronise tags to flags

Currently, flags are synced to tags, but the reverse isn't true. If you
mark a mail as unread "the mutt way", you'll be able to find this mail
using tag:unread, however if you remove the tag unread, the flags aren't
adjusted, and it's still marked unread in mutt.

This functionality is provided by notmuch, but means that any mail has
to be synced to disc when the labels are modified, which conflicts with
the way synchronisation to disk works in mutt.

To solve this properly, it's best to just check if the changes performed
in the tags involve some flags handled by mutt, and if so, update the
header in mutt. When mutt syncs to disc, the flags will be adjusted on
disc as well.

Some remarks:

- The parsing code is currently duplicated. I'll fix this.
- The labels are currently hard-coded. It seems like notmuch doesn't
  allow customisation of these labels, but mutt-kz does for unread.
- The draft and passed labels are currently ignored, as they aren't
  handled by mutt.

Closes: karelzak/mutt-kz#148
mutt_notmuch.c