org.freedesktop.Notifications.CloseNotification doesn't close the relevant notification immediately, without fading out.

Bug #445289 reported by Mario Kemper (Romario)
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
notify-osd (Ubuntu)
Fix Committed
Low
David Barth

Bug Description

Using org.freedesktop.Notifications.CloseNotification should close a notification immediately, but it doesn't work in latest karmic (notify-osd 0.9.11-0ubuntu3).
It used to work in earlier versions of notify-osd and it still does in jaunty.

I've changed some of your python examples to demonstrate the problem and attached it.

Please let me know if you need any further information.

Regards
Mario

Revision history for this message
Mario Kemper (Romario) (mario-kemper) wrote :
Revision history for this message
David Barth (dbarth) wrote :

Correct. This part was changed on the ground that it was breaking a basic design principle of n-osd to manage a queue of notifications and avoid "rushing" the user.

From a protocol point of view, we still honor the call and return a success value. However, the notification is /not/ immediately closed.

However, I think we could remove a notification from the queue, if it is not already on display.

Changed in notify-osd:
importance: Undecided → Low
milestone: none → ubuntu-9.10
status: New → Triaged
David Barth (dbarth)
Changed in notify-osd:
assignee: nobody → David Barth (dbarth)
Revision history for this message
Mario Kemper (Romario) (mario-kemper) wrote : Re: [Bug 445289] Re: org.freedesktop.Notifications.CloseNotification doesn't close the relevant notification immediately, without fading out.

> Correct. This part was changed on the ground that it was breaking a
> basic design principle of n-osd to manage a queue of notifications and
> avoid "rushing" the user.
>
> From a protocol point of view, we still honor the call and return a
> success value. However, the notification is /not/ immediately closed.
>
> However, I think we could remove a notification from the queue, if it is
> not already on display.

I understand your design decision, but I think that the application that
created the notification should be able to close it as well - even
though it was already on-screen.
In most cases it should be enough to update the current notification,
but there are some cases where this is not enough.

For example: I am developing a screenshot taking application (Shutter)
and I want to use notify-osd (or any other daemon that supports the
protocol) to display some status information or hints. If the user takes
the next screenshot it is very important that the last message shown can
be closed reliably to avoid unwanted messages to be on the screenshots.

Don't get me wrong - I don't want to manipulate the queue and I don't
want to close foreign notifications but I want to have some control over
my own notifications.

Due to the fact that there is no window (the main window is hidden when
taking a screenshot) to display any information notify-osd looked like a
very good solution for this.

Please reconsider this decision.

Regards
Mario

David Barth (dbarth)
Changed in notify-osd:
status: Triaged → In Progress
status: In Progress → Fix Committed
Revision history for this message
Erigami (erigami) wrote :

I'd like to echo Mario's comment. I'm modifying an IM plugin that tells a user when they've gotten a message via a notification bubble. If the user switches focus to that conversation, I'd like to be able to close the bubble since it's now wasting screen real estate.

Revision history for this message
Vikram Ambrose (noel-ambrose) wrote :

I agree. I find the current behaviour incorrect for a notification utility.

Notifications are notifications, not a message bus.

When I say _show(), I want it to clear anything its currently showing from my app and replace it immediately. Or give me a _close() that actually does what it sounds like.

affects: notify-osd → notify-osd (Ubuntu)
Changed in notify-osd (Ubuntu):
milestone: ubuntu-9.10 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.