← Back to team overview

unity-design team mailing list archive

Re: Notification design problem


Hash: SHA1

Gregory Merchan wrote on 19/09/12 18:52:
> ...
> Here's what I was doing: I have a program which reads information
> from somewhere and notifies me of it, subject to some conditions,
> using `notify-send`. I use `watch` to run it regularly. I
> accidentally set it to run every 2 seconds, instead of every 2
> minutes, and before I stopped it, multiple messages had been
> queued. I know this not because I was able to see the queue, but
> because the same notice kept appearing for more than minute after I
> stopped the watch.
> There are two problems here.
> 1) The notifications should have come within about 2 seconds of
> each other, but the time was much longer as each stayed on the
> screen for a while before it faded and the next one appeared. If I
> needed to receive some notification in a timely manner, I would not
> have because of the slowly moving queue.

Firstly, the notifications system -- even before Notify OSD -- has
never guaranteed that notifications will be delivered "in a timely
manner". If multiple notifications arrive near-simultaneously, any
notification agent has three basic choices: pile them up on top of
each other, put them in a possibly-long queue, or discard some
altogether. None of those options are particularly attractive. Notify
OSD chooses the second option.

Secondly, if the same program is notifying you of the same type of
information every two minutes, probably it should be using the same
notification ID. That way, if a notification was still visible or
queued when the next one arrived, the next one would replace it, so
they wouldn't stack up. Unfortunately notify-send doesn't handle that
part of the API, but someone could extend it so it did.

> 2) I knew there were a bunch of notifications queued and I couldn't
> do anything about it. I couldn't dismiss the notices, see the
> queue, dismiss the queue, or anything. I had to wait and wait for
> all the messages to go through.
> ...

This is, I think, an as-yet-unimplemented part of the specification.

- -- 

Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/