First of: you really need a patched mairix binary for using the marks propagation feature efficiently. Otherwise, you would have to update the mairix database all the time. You can get the patch at
http://www.randomsample.de/mairix-maildir-patch.tar
You need the mairix v0.21 source code for this patch; everything else is explained in the accompanied readme file. If you don’t want to use marks propagation, you don’t have to apply these patches, but they also fix some annoyances regarding changing maildir flags, so it might still be useful to you.
With the patched mairix binary, you can use nnmairix
as an
alternative to mail splitting (see Fancy Mail Splitting). For
example, instead of splitting all mails from ‘david@foobar.com’
into a group, you can simply create a search group with the query
‘f:david@foobar.com’. This is actually what “smart folders” are
all about: simply put everything in one mail folder and dynamically
create searches instead of splitting. This is more flexible, since you
can dynamically change your folders any time you want to. This also
implies that you will usually read your mails in the nnmairix
groups instead of your “real” mail groups.
There is one problem, though: say you got a new mail from
‘david@foobar.com’; it will now show up in two groups, the
“real” group (your INBOX, for example) and in the nnmairix
search group (provided you have updated the mairix database). Now you
enter the nnmairix
group and read the mail. The mail will be
marked as read, but only in the nnmairix
group—in the “real”
mail group it will be still shown as unread.
You could now catch up the mail group (see Group Data), but this is
tedious and error prone, since you may overlook mails you don’t have
created nnmairix
groups for. Of course, you could first use
nnmairix-goto-original-article
(see nnmairix keyboard shortcuts) and then read the mail in the original group, but that’s
even more cumbersome.
Clearly, the easiest way would be if marks could somehow be automatically set for the original article. This is exactly what marks propagation is about.
Marks propagation is inactive by default. You can activate it for a
certain nnmairix
group with
nnmairix-group-toggle-propmarks-this-group
(bound to G b
p). This function will warn you if you try to use it with your default
search group; the reason is that the default search group is used for
temporary searches, and it’s easy to accidentally propagate marks from
this group. However, you can ignore this warning if you really want to.
With marks propagation enabled, all the marks you set in a nnmairix
group should now be propagated to the original article. For example,
you can now tick an article (by default with !) and this mark should
magically be set for the original article, too.
A few more remarks which you may or may not want to know:
Marks will not be set immediately, but only upon closing a group. This
not only makes marks propagation faster, it also avoids problems with
dangling symlinks when dealing with maildir files (since changing flags
will change the file name). You can also control when to propagate marks
via nnmairix-propagate-marks-upon-close
(see the doc-string for
details).
Obviously, nnmairix
will have to look up the original group for every
article you want to set marks for. If available, nnmairix
will first
use the registry for determining the original group. The registry is very
fast, hence you should really, really enable the registry when using
marks propagation. If you don’t have to worry about RAM and disc space,
set gnus-registry-max-entries
to a large enough value; to be on
the safe side, choose roughly the amount of mails you index with mairix.
If you don’t want to use the registry or the registry hasn’t seen the
original article yet, nnmairix
will use an additional mairix
search for determining the file name of the article. This, of course, is
way slower than the registry—if you set hundreds or even thousands of
marks this way, it might take some time. You can avoid this situation by
setting nnmairix-only-use-registry
to t
.
Maybe you also want to propagate marks the other way round, i.e., if you
tick an article in a "real" mail group, you’d like to have the same
article in a nnmairix
group ticked, too. For several good
reasons, this can only be done efficiently if you use maildir. To
immediately contradict myself, let me mention that it WON’T work with
nnmaildir
, since nnmaildir
stores the marks externally and
not in the file name. Therefore, propagating marks to nnmairix
groups will usually only work if you use an IMAP server which uses
maildir as its file format.
If you work with this setup, just set
nnmairix-propagate-marks-to-nnmairix-groups
to t
and see what
happens. If you don’t like what you see, just set it to nil
again.
One problem might be that you get a wrong number of unread articles; this
usually happens when you delete or expire articles in the original
groups. When this happens, you can recreate the nnmairix
group on
the back end using G b d.