Notifications spec: Icons
l.lunak at suse.cz
Thu Apr 2 08:42:29 PDT 2009
On Wednesday 01 of April 2009, Bo Thorsen wrote:
> Hi list,
> There have been a bunch of emails going back and forth between the KDE and
> GNOME people about the notifications spec. It seems everyone wants to have
> a common spec instead of the two current implementations (galago and
> knotify). I think Enlightenment also have an implementation of galago, but
> I'm not certain of this.
> The goal for these discussions is a single spec that's based on galago, but
> modified to suit the needs of more groups.
Could you please clarify this sentence? Are you saying that this goal is from
the previous discussions, or that it is the goal of the discussion you have
started? Or actually, either way, could you first start at the beginning and
not just say "it was decided in private discussions that XYZ, can we now
discuss this implementation detail" ? Notifications haven't been discussed on
this list for ages, at least not anything that would lead to any result, and
the private discussions that I was CC-ed in also mostly only seemed to agree
that something should be done but then mostly died out.
So, before this discussion actually starts, could it be first said what will
be actually discussed? Specifically, I don't remember any clear conclusion
along the lines of "galago should be the ultimate spec apps should use for
all notifications", and even if it's just because I somehow missed it, then I
think it should be explictly said here. I hope Aaron will not mind me quoting
him from one mail (you can clearly see it is from him because of the missing
capitalization :) ), as I think it nicely shows up some problems with your
apparent assuming that galago would just somehow replace knotify:
> > from my side, i'd like to see the galago spec cleaned up, simplified in
> > some areas and focussed clearly and explicitly on visual notifications.
> > calling it a general notifications spec is a bit specious, but as a basis
> > for displaying visual notifications i think it's something we can work
> > towards being a commonality.
> > which is to say, i don't want to start a conversation about knotify or
> > general noficiation infrastructure as that's just way bigger of a scope
> > and something that the two projects just aren't on equal footing on
> > technically or philosophically. so .. let's KISS and concentrate on visual
> > notifications.
I can't say I agree with the second part, some people try to put Galago as
the general notification infrastructure, so if it's to be modified, why not
modify it enough to be suitable as one? But even if we stay just with talking
about only visual notifications and tweaking Galago to fit that (which
doesn't really change anything for KNotify then), I think it is important
that everybody here know what the topic of the discussion actually is. So,
are we talking just visual notifications?
PS: I guess it could be useful to roughly explain how KNotify works.
When any event happens that an application would want to notify about, it
basically does just 'event( "Work done." )' and it's more or less
fire&forget, or 'event( "New IM message.", "Show details", "Ignore" )', in
which case it eventually gets a reply about whether the user wants to react
somehow to the event.
The app then does a D-Bus call to KNotify, which includes few more details,
like which app it is (i.e. appname like 'kmail') and here it is decided what
will be done by with the event. Every app provides a default setup for its
notifications and based on this and user configuration KNotify will decide to
show the app using a passive popup, play a sound, log it, ignore it, or
whatever. This has the advantage that this is simple for apps to use and
flexible. Switching a passive popup for a specific notification to e.g.
marking the taskbar entry, implementing new ways of notifying or having
different profiles is just a mather of changing the configuration here (or
implementing support here).
One of the way to notify is a passive popup, which is handled by another
D-Bus call to Plasma telling to it show the info about the event. Most other
ways of notifying the user are handled directly by KNotify, only this one way
is passed further using the D-Bus call.
The last paragraph, as far as I know, is what is Galago, with each
application having to do the middle paragraph on their own. What Aaron refers
to with 'visual notifications' is the second D-Bus call, and so it actually
matches Galago's purpose. I personally however find it suboptimal to discuss
something that is mostly an internal implementation detail of KNotify or even
let applications use it, although I fear that Aaron is right about getting
anything done higher in the stack being impossible for now.
SUSE LINUX, s.r.o. e-mail: l.lunak at suse.cz , l.lunak at kde.org
Lihovarska 1060/12 tel: +420 284 028 972
190 00 Prague 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz
More information about the xdg