KNotify should not use notify-osd as a notification backend, because it does not support actions

Bug #542059 reported by Sjors Gielen
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KDE Base Runtime
Fix Committed
Undecided
Sjors Gielen
notify-osd (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Binary package hint: kdebase-runtime

Description:
When I use KDE applications that use KNotify in a GNOME environments, I get KNotify popups as "question windows" instead of the regular KNotify popups in GNOME environments. For an example, see the attached image.

What I expected:
Since I am using GNOME, I'd expect the old KNotify-in-GNOME popups to appear, as in [0]. If there was some better integration, like the KNotify messages appearing in libnotify popups, it would be even better.

[0] http://blog.bepointbe.be/images/kde_screen/knotify_alpha1.png

What actually happened:
A dialog as in attached image. It sometimes pops up in front of all other windows, sometimes it goes under the other windows. As you can imagine, the popup popping up in the front is a real nuisance.

Extra info:
I am using Ubuntu Lucid (10.04) beta 1;
ii kdebase-runtime 4:4.4.1-0ubuntu3 runtime components from the official KDE 4 r
ii kdebase-runtime-data 4:4.4.1-0ubuntu3 shared data files for the KDE 4 base runtime

Revision history for this message
Sjors Gielen (sgielen) wrote :
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

I don't think KNotify can present things as message boxes. Whatever's presenting them on the Gnome side is presenting it as a message box.

affects: kdebase-runtime (Ubuntu) → notify-osd (Ubuntu)
Revision history for this message
Sebastien Bacher (seb128) wrote :

thank you for your bug report, that's not a bug though but a design decision to not support actions in notification with notify-osd, the software should check the notification service capabilities before using those

Changed in notify-osd (Ubuntu):
importance: Undecided → Low
status: New → Invalid
Revision history for this message
Sjors Gielen (sgielen) wrote :

KNotify is unable to hide its actions, as it does not define the actions itself, it allows its applications to define them.

If notify-osd isn't able to display those actions, I think another way of displaying notifications should be added that does support actions. The current knotify->notify-osd behaviour is unacceptable, and can't be fixed in knotify itself. (and even if it could, we all know how those bugreports go on bugs.kde.org, they get buried and never looked at again.)

I'm prepared to do the required changes myself in either notify-osd, knotify or somewhere else, but I want to know where to fix this bug.

Changed in notify-osd (Ubuntu):
status: Invalid → New
Revision history for this message
Sebastien Bacher (seb128) wrote :

don't reopen this bug as said that's not a notify-osd bug but a design decision, the caller can query the daemon capabilities so whatever is using libnotify to send the bubble there should be checking what the server can do before sending requests

Changed in notify-osd (Ubuntu):
status: New → Invalid
Revision history for this message
Sebastien Bacher (seb128) wrote :

closing the notify-osd task too

Changed in notify-osd:
status: New → Invalid
status: Invalid → New
status: New → Invalid
Revision history for this message
Sebastien Bacher (seb128) wrote :

closing the notify-osd task too

Changed in notify-osd:
status: Invalid → New
Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in notify-osd:
status: New → Invalid
status: Invalid → Incomplete
status: Incomplete → Invalid
Revision history for this message
Sebastien Bacher (seb128) wrote :

sorry launchpad is acting weird

Revision history for this message
Sjors Gielen (sgielen) wrote :

Reporting this bug back to kdebase-runtime. I had a chat with Sebastien Bacher. We both agree that notify-osd behaviour isn't what it should be, but this is by design, since notify-osd doesn't support actions. KNotify *does* support actions, and as such, it should either:
* tell applications not to send actions if it uses notify-osd (see below)
* remove the actions itself
* not use notify-osd as a backend.

I opt for option three, therefore I will rename this bug to "KNotify should not use notify-osd as a notification backend, because it does not support actions."

For reference; Sebastien and I agree that this bug should actually be fixed deeply in knotify, because it has no API to tell applications what its notification backend supports. By default, it supports everything including actions, therefore it should not use notify-osd as a backend.

affects: notify-osd (Ubuntu) → kdebase-runtime (Ubuntu)
Changed in kdebase-runtime (Ubuntu):
status: Invalid → New
summary: - KNotify opens an incorrect dialog in a GNOME environment
+ KNotify should not use notify-osd as a notification backend, because it
+ does not support actions
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Notify-osd is working as a frontend in this case. I can't see why notify-osd can't just remove the actions itself, as the notifications knotify sends are completely compliant with the FD.o spec.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Not a bug with KNotify. The Colibri implementation of the FD.o notification system, for example, has no such trouble stripping the actions, and invasive patches to the core KDE packages (that won't be accepted by upstream) on the doorstep of an LTS are not an issue. Notify OSD should just be fixed.

affects: kdebase-runtime (Ubuntu) → notify-osd (Ubuntu)
Revision history for this message
Ted Gould (ted) wrote :

Notify-osd can not tell the difference between actions which can easily be stripped and those that are critical for the user to see. So it must have some sort of fallback mechanism. It would be better if KDE base would detect whether actions were supported by the front end and not send them if not.

Changed in notify-osd (Ubuntu):
status: New → Invalid
Revision history for this message
Sjors Gielen (sgielen) wrote :

I fixed this bug in kdebase-runtime by making sure the notification backend KNotify uses, supports the capabilities used in the popup; otherwise the popup is simplified. It's been committed to trunk and I'll try backporting it into the 4.5 release. See http://reviewboard.kde.org/r/4555/ for more information.

Changed in kdebase-runtime:
assignee: nobody → Sjors Gielen (dazjorz)
status: New → Fix Committed
no longer affects: notify-osd
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.