Fortunately, setting up the Gnus registry is pretty easy:
(setq gnus-registry-max-entries 2500) (gnus-registry-initialize)
This adds registry saves to Gnus newsrc saves (which happen on exit
and when you press s from the *Group* buffer). It also
adds registry calls to article actions in Gnus (copy, move, etc.) so
it’s not easy to undo the initialization. See
gnus-registry-initialize
for the gory details.
Here are other settings used by the author of the registry (understand what they do before you copy them blindly).
(setq gnus-registry-split-strategy 'majority gnus-registry-ignored-groups '(("nntp" t) ("nnrss" t) ("spam" t) ("train" t)) gnus-registry-max-entries 500000 ;; this is the default gnus-registry-track-extra '(sender subject))
They say: keep a lot of messages around, track messages by sender and subject (not just parent Message-ID), and when the registry splits incoming mail, use a majority rule to decide where messages should go if there’s more than one possibility. In addition, the registry should ignore messages in groups that match “nntp”, “nnrss”, “spam”, or “train.”
You are doubtless impressed by all this, but you ask: “I am a Gnus user, I customize to live. Give me more.” Here you go, these are the general settings.
The groups that will not be followed by
gnus-registry-split-fancy-with-parent
. They will still be
remembered by the registry. This is a list of regular expressions.
By default any group name that ends with “delayed”, “drafts”,
“queue”, or “INBOX”, belongs to the nnmairix backend, or contains
the word “archive” is not followed.
The number (an integer or nil
for unlimited) of entries the
registry will keep. If the registry has reached or exceeded this
size, it will reject insertion of new entries.
If this option is non-nil
, the registry will register all messages, as
you see them. This is important to making split-to-parent and
Message-ID references work correctly, as the registry needs to know
where all messages are, but it can slow down group opening and the
saving of Gnus. If this option is nil
, entries must be created
manually, for instance by storing a custom flag or keyword for the
message.
This option (a float between 0 and 1) controls how much the registry
is cut back during pruning. In order to prevent constant pruning, the
registry will be pruned back to less than
gnus-registry-max-entries
. This option controls exactly how
much less: the target is calculated as the maximum number of entries
minus the maximum number times this factor. The default is 0.1:
i.e., if your registry is limited to 50000 entries, pruning will try to
cut back to 45000 entries. Entries with keys marked as precious will
not be pruned.
This option specifies how registry entries are sorted during pruning.
If a function is given, it should sort least valuable entries first,
as pruning starts from the beginning of the list. The default value
is gnus-registry-sort-by-creation-time
, which proposes the
oldest entries for pruning. Set to nil
to perform no sorting,
which will speed up the pruning process.
The file where the registry will be stored between Gnus sessions. By
default the file name is .gnus.registry.eieio
in the same
directory as your .newsrc.eld
.