Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: William Gardella <gardellawg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: info-gnus-english-mXXj517/zsQ@public.gmane.org
Subject: A Gnus Biff
Date: Fri, 28 Sep 2012 17:58:49 -0400	[thread overview]
Message-ID: <871uhl24iu.fsf@gmail.com> (raw)

[-- 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

             reply	other threads:[~2012-09-28 21:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-28 21:58 William Gardella [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871uhl24iu.fsf@gmail.com \
    --to=gardellawg-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=info-gnus-english-mXXj517/zsQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).