gnus: Running NNDiary
6.8.1.2 Running NNDiary
.......................
‘nndiary’ has two modes of operation: “traditional” (the default) and
“autonomous”. In traditional mode, ‘nndiary’ does not get new mail by
itself. You have to move (‘B m’) or copy (‘B c’) mails from your
primary mail back end to nndiary groups in order to handle them as diary
messages. In autonomous mode, ‘nndiary’ retrieves its own mail and
handles it independently from your primary mail back end.
One should note that Gnus is not inherently designed to allow several
“master” mail back ends at the same time. However, this does make sense
with ‘nndiary’: you really want to send and receive diary messages to
your diary groups directly. So, ‘nndiary’ supports being sort of a
“second primary mail back end” (to my knowledge, it is the only back end
offering this feature). However, there is a limitation (which I hope to
fix some day): respooling doesn’t work in autonomous mode.
In order to use ‘nndiary’ in autonomous mode, you have several things
to do:
• Allow ‘nndiary’ to retrieve new mail by itself. Put the following
line in your ‘~/.gnus.el’ file:
(setq nndiary-get-new-mail t)
• You must arrange for diary messages (those containing ‘X-Diary-*’
headers) to be split in a private folder _before_ Gnus treat them.
Again, this is needed because Gnus cannot (yet ?) properly handle
multiple primary mail back ends. Getting those messages from a
separate source will compensate this misfeature to some extent.
As an example, here’s my procmailrc entry to store diary files in
‘~/.nndiary’ (the default ‘nndiary’ mail source file):
:0 HD :
* ^X-Diary
.nndiary
Once this is done, you might want to customize the following two
options that affect the diary mail retrieval and splitting processes:
-- Variable: nndiary-mail-sources
This is the diary-specific replacement for the standard
‘mail-sources’ variable. It obeys the same syntax, and defaults to
‘(file :path "~/.nndiary")’.
-- Variable: nndiary-split-methods
This is the diary-specific replacement for the standard
‘nnmail-split-methods’ variable. It obeys the same syntax.
Finally, you may add a permanent ‘nndiary’ virtual server (something
like ‘(nndiary "diary")’ should do) to your
‘gnus-secondary-select-methods’.
Hopefully, almost everything (see the TODO section in ‘nndiary.el’)
will work as expected when you restart Gnus: in autonomous mode, typing
‘g’ and ‘M-g’ in the group buffer, will also get your new diary mails
and split them according to your diary-specific rules, ‘F’ will find
your new diary groups etc.