Is it possible for gnus-demon to be asynchronous and silent?

I have this:

(gnus-demon-add-handler 'gnus-demon-scan-news 5 nil)

And every 5 minutes, emacs gets stuck fetching new stuff. Which is annoying.

If gnus-demon itself can't do that (and looking at the code, the best I see is the "idle" mode), is there an alternative?


This isn't an solution on how to use async features, but one which will also satisfy your needs, i think.

Basically, you can move the fetching part to an external application, and just read the mails with emacs. Therefore, emacs doesn't have to download them, which should conclude in a non-blocking gnus/emacs. After you've set up the email-retriever, you can just change the way gnus gets its emails to a local path.


If you want to use IMAP, I'd suggest to use offlineimap. It's a small python script, which downloads your mail to a local folder. The ArchWiki has also a quite comprehensive documentation for configuring offlineimap. An alternative would be isync (which has also an entry in the ArchWiki)

Additionally, this guide provides an example configuration file for both gnus and offlineimap. (I use Mutt, so this is not my gnus config, and can't vouch directly for it.)


For POP3, I found getmail, but i have no experience with that.

Additinally I'd like to point you to this Gnus Manual entry


One work around is to have the demon only do stuff when Emacs is idle; I use this:

; Demon to fetch email every 5 minutes when Emacs has been idle for 5 minutes:
(gnus-demon-add-handler 'gnus-demon-scan-news 5 5)

You will, of course, have to go g compulsively in Gnus yourself when Emacs is not idle.

The other thing I do, is that I have one Emacs for Gnus, and another for everything else, i.e. normal editing. (Well, actually, I have a separate Emacs for jabber.el as well).

Emacs is one of the few operating systems in use without "real" multitasking.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.