[FEATURE] KNotify support for galago Notifications spec
Olivier Goffart
ogoffart at kde.org
Mon Apr 21 21:48:50 BST 2008
Le lundi 21 avril 2008, Dmitry Suzdalev a écrit :
> Hi!
>
> Recently I've been working on adding support for galago-project's DBus
> Notifications spec to KNotify.
> I've added it to the 4.1 feature plan and it's already in shape which I
> consider good enough to be merged in trunk. So this is a review request :)
>
> For more info (and screenshot), please refer to my blog post, so I don't
> say many things twice :). Here's a link:
> http://dimsuz.wordpress.com/2008/04/10/plasmoiding-notifications-and-
> notificating-plasmoids/
>
> Well, i'll still repeat briefly:
>
> Basically that ended up in only patching KNotify's NotifyByPopup plugin to
> forward all notification actions (showing, updating, closing) to DBus
> interface if it is registered on session bus.
> So NotifyByPopup monitors DBus' session bus for org.kde.Notifications
> service to become registered and once it happens, all notifications are
> forwarded to that service.
>
> The service itself implements (not fully atm) a galago-project's
> notifications spec
> (http://www.galago-project.org/specs/notification/0.9/index.html).
>
> When/if this DBus service becomes unregistered, KNotify notices this and
> immediately falls back to its beloved KPassivePopups :)
>
> Also NotifyByPopup reacts to a signals that org.kde.Notifications emits
> when some of notifications' actions get executed and executes this actions
> on knotify side just like if they were clicked inside regular passive
> popups.
>
> Where this whole thing is useful and why?
> Well, after this support will be in knotify, it'll allow any
> app/lib/whatever that implements this DBus interface to receive
> notifications from KNotify.
But that doesn't works with galago's "notify" server (the dbus namespace is
not even the same).
What are the reason of that ?
Also please don't use "Notification" in the interface name, but instead
something like "PopupServer"
> Ah, and I also added a support for "Timeout" parameter in knotify's eventrc
> files. If specified it'll cause a popup to dissapear after that many ms.
mmmhhh, it should be possible to take the one comming from the application.
But the knotify dbus interface need modification then.
About the patch:
When you do the transition from/to KPassivePopup to/from dbus, you should not
forget to clean the maps, and close KPassivePopups
You need to emit finished(id) when the popup is closed by the server.
Otherwhise, you may leak memory for perssistant notifications, both in
knotify and in the application.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080421/a2f68113/attachment.sig>
More information about the kde-core-devel
mailing list