Help with fixing a notifications issue

Daniel Vrátil dvratil at redhat.com
Thu May 16 19:44:02 UTC 2013


Heya,

I've been playing with notifications in KDE Telepathy again and run into some 
issues with implementation of the Notifications applet in Plasma and 
KNotifications in general. After some debugging I realized that one of the 
problems is bigger than I though and since I haven't worked with notifications 
before, I could use some directions :-)

The problem is that when an application creates a KNotification with some 
actions (Accept/Reject for instance), the notification is not persistent by 
default. That means, that everything works (the actionXActivated() signals are 
emitted when an action is clicked), but only for the first 6 seconds. After 
that the notification "expires" and is removed from manager. However nothing 
happens in the Notification applet. The notification is still there, the buttons 
are shown,  but when you click them, nothing happens, because 
KNotificationManager discards the signal since it does not know the expired 
notification anymore.

As a result, we are getting bug reports that users are sometimes not able to 
"Accept" or "Reject" file transfer notifications. (We could try closing these as 
WONTFIX "You are too slow", but I'd like to have a better solution :-))).

I believe there are two solutions to this: 

1) Disable the buttons when notification expires. I'm afraid however that there 
is no way for the notification to know it has expired, or is there?

2) Change the behavior so that notifications with at least one action are 
persistent by default. This could however break apps and cause memory leaks.

So...ideas? :-)

Thanks

Dan

-- 
Daniel Vrátil
Associate Software Engineer, KDE Desktop Team
Red Hat, Inc

GPG Key: 0xC59D614F6F4AE348
Fingerprint: 4EC1 86E3 C54E 0B39 5FDD B5FB C59D 614F 6F4A E348
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130516/207cfb99/attachment.sig>


More information about the Plasma-devel mailing list