KNotify-considerations for frameworks
Albert Astals Cid
aacid at kde.org
Thu Sep 22 23:22:28 BST 2011
A Dijous, 22 de setembre de 2011, Sune Vuorela vàreu escriure:
> Hi
>
> I'm considering doing some work on the knotify-stuff for the kde
> frameworks.
> This involves the KNotification class and the KNotify daemon and related
> classes.
>
> I started hacking a bit on it in Randa, but have ended up scratchig my
> work and starting over. http://pusling.com/blog/?p=200
>
> Currently, it is a quite complex framework that is hard to debug for the
> users of knotify (the application developers). It seems a bit
> overengineered, at least compared to how many of the features that is
> normally used.
>
> the full knotify stack can notify users in I think at least 5 different
> ways:
> Popup
> Sound
> Run-a-command
> kttsd
> nothing
>
> But, for the developer that's not currently something to *directly* care
> for. The developer creates a KNotification object and sends it. This
> communicates over dbus to the knotify daemon. The knotify daemon looks
> up in the configurations what to do with it, and then does that.
>
> What does it do?
> For Popup, which is the all-dominating case, it sends out a
> org.freedesktop.Notifications conformant message (galago spec)
>
> For nothing, which is the next case, it does nothing
>
> for Sound, it plays something using phonon
>
> for kttsd it sends a dbus message to kttsd
>
> and for run-a-command, it runs the specified command.
>
> The user can of course change what a notification does.
>
>
> What I would like to do is the following:
>
> Create a handful of classes, either in a separate library or in a
> fitting library, basically giving a public api to skip over the
> configuration bits and knotify bits for the Popup case. There is code
> available for several platforms already in the knotify code.
This means that as a user if the developer decides to use a "Popup" I can no
longer configure the application to do nothing? Or to play a sound? Seems like
a huge loss of functionality to me.
Albert
>
> Make teh current knotify stack use the above code for popups and move it
> either to kde4support or to the high level platform integration bits.
> Depending on where it goes, I would like to also fold in the knotify
> daemon into the KNotification classes, as a daemon to - mostly rewrite
> dbus messages - seems a bit extreme[x].
>
>
> Comments, requests for more details and questions are most welcome
>
> /Sune
> - developer for hire
>
>
> x) Yes. There is also two other uses. 1) to keep applications from
> having to link phonon for audionotifications and 2) to make sure that
> audio notifications will be played to the end when quitting a app
More information about the kde-core-devel
mailing list