Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* A Gnus Biff
@ 2012-09-28 21:58 William Gardella
  2012-09-28 23:06 ` William Gardella
  0 siblings, 1 reply; 5+ messages in thread
From: William Gardella @ 2012-09-28 21:58 UTC (permalink / raw)
  To: info-gnus-english-mXXj517/zsQ

[-- Attachment #1: Type: text/plain, Size: 1883 bytes --]

Hey,

I'm in the process of writing a simple "biff" for Gnus, to notify me if
one or more of a list of designated Gnus groups has unread messages in
it (see below).  So far it crudely works, and is suitable for use
interactively or by `display-time-mail-function' if you want "Mail" to
appear in the mode line for Gnus messages instead of mails in your local
mailspool.  What it doesn't have as yet, as you'll see, is very good
error handling.

I get my data from the function `gnus-list-of-unread-articles' which
I've just ham-fistedly wrapped in an (ignore-errors ...) form.  This
makes it silent enough to be suitable for use on a timer, e.g. with
display-time, but it means that if a group name is invalid, the whole
thing just returns nil as though there was no message in any group.
Also, the way I've done it, if this is loaded by display-time in your
initialization file, it will try to check (of course!).  But in doing
so, it doesn't fully start up Gnus.  It enters some sort of nether
state, where it checks my ~/.authinfo.gpg and makes some IMAP+NNTP
connections, but there's no *Group* buffer, and the function continues
to return nil until Gnus is actually started.

Is there a function or variable I could use as a condition to determine
whether Gnus is actually "running?"  Eval-after-load is probably not
quite right, because Gnus is not exactly a normal Elisp package, and
it's not that I need some function to be available--it's that the group
data hasn't been populated yet until Gnus is running.  I also considered
using the variable `gnus-demon-timers' as a condition, since the daemon
timers are started when gnus starts/restarts and removed when it exits,
and someone who wants a biff probably does use gnus-demon for periodic
message checking.  Is that a kludge?  Is there a better way to check the
status of Gnus?

Thanks in advance for your thoughts,
WGG


[-- Attachment #2: wg-gnus-biff.el --]
[-- Type: application/emacs-lisp, Size: 2529 bytes --]

[-- Attachment #3: Type: text/plain, Size: 183 bytes --]

_______________________________________________
info-gnus-english mailing list
info-gnus-english-mXXj517/zsQ@public.gmane.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 5+ messages in thread
[parent not found: <mailman.9955.1348869546.855.info-gnus-english@gnu.org>]

end of thread, other threads:[~2012-12-24 16:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-28 21:58 A Gnus Biff William Gardella
2012-09-28 23:06 ` William Gardella
2012-09-29  7:30   ` Adam Sjøgren
     [not found] <mailman.9955.1348869546.855.info-gnus-english@gnu.org>
2012-09-29  4:13 ` Ben Kibbey
2012-12-24 16:33 ` Lars Ingebrigtsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).