On Wed, 2009-04-08 at 15:00 +0000, Mark Shuttleworth wrote:
> MPT, if we had done "append" as a new operation in its own right, we
> would not have the API issue you describe.

Doing that would have required changing libnotify, along with all the
other bindings that actually don't use libnotify but reimplement the
spec.  I think that it was a strong selling point for us to be able to
say that we required no changes in libnotify, because we were just doing
the same thing, even if we did a twist on it.

Also, our application patches would have required conditional compiles
based on detecting our version of the libnotify library and would have
been much less likely to get upstream.

Even with the confusion, and I agree with mpt's analysis, I still think
we made the better choice between those two options.

-- 
Notification entries are not appended unless a replace is used
https://bugs.launchpad.net/bugs/337394
You received this bug notification because you are a member of Notify
OSD Developers, which is subscribed to Notify OSD.

Status in Notify OSD: Fix Committed

Bug description:

Currently in the notify-osd code an append is only done if the type of update 
to the notification is a replace or update operation.  This is incorrect and 
shoudl be changed to match the spec which states:

"Whenever there are two or more notification bubbles in the queue that have the 
same title and come from the same program (as identified by its D-Bus ID), and 
both of them have hinted that they allow concatenation, Notify OSD should merge 
them into a single bubble"
https://wiki.ubuntu.com/NotifyOSD#Concatenating%20existing%20bubbles

The important phrasing here is "two or more notification bubbles" not an 
updated bubble.

The reason for this is that the way that it's implemented now removes some 
capability from applications.  The application needs to have the ability to 
update appended bubbles.  So if I have two bubbles:

a) "hello"
b) "hi there"

And I decide that I want to change b to "oh, goodbye", if the append hint is 
used, and replace is used to specify append, the result will be:

hello
hi there
oh, goodbye

When the correct result should be

hello
oh, goodbye

This is currently how the Pidgin-libnotify plugin sends bubbles, it ensures 
that all messages are unique bubbles but will reuse bubbles for cases like sign 
on and sign off so that they get updated properly.

_______________________________________________
Mailing list: https://launchpad.net/~dx-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~dx-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to