[FEATURE] KNotify support for galago Notifications spec
Dmitry Suzdalev
dimsuzkde at gmail.com
Mon Apr 21 20:48:15 BST 2008
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.
Personally I aim at creating a Plasma DataEngine+Applet pair which will show
KNotify notifications in a nice and convenient way. Well, not only I aim, but
I actually already started shooting practizes ;)
playground/base/plasma already has a "notifications" dataengine which
implements DBus service and "notify" applet which shows them in a basic way
(for starters). Applet already supports timing out of notifications and
actions invoking.
Oh, looks like i'm still repeating my blog post :) Stopping that.
I'm attaching the patch to NotifyByPopup itself and also a
org.kde.Notifications.xml which comes from playground - for reference.
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.
Cheers,
Dmitry.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080421/2e9226bb/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: knotify-galago.diff
Type: text/x-patch
Size: 8133 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080421/2e9226bb/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: org.kde.Notifications.xml
Type: application/xml
Size: 1204 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080421/2e9226bb/attachment.xml>
More information about the kde-core-devel
mailing list