Hi !<br>
I'm the core dev of GLX-Dock and have recently developped a systray<br>
applet for the dock, based on the StatusNotifier API (I've based my work<br>
on <a href="http://www.notmart.org/misc/statusnotifieritem" target="_blank">http://www.notmart.org/misc/statusnotifieritem</a>).<br>
<br>
I've joined the mailing list to give my feedback about the<br>
implementation of this protocol (forgive me if this is not the good<br>
place, I've talked about this with David Barth 5 months ago and some<br>
time has passed).<br>
I hope we can discuss about some points.<br>
I've tried to sort them by importance (imho of course).<br>
<br>
1) the menu : ContextMenu(x,y)<br>
this method has several failures :<br>
* First, the coordinates are used as the top-left corner of the menu.<br>
In case the dock is placed at the bottom, we want the bottom of the menu<br>
to appear just above the icon, but we don't know the height of the menu.<br>
In case the dock is placed on top of the screen, it would be the<br>
opposite.<br>
The application could guess where to pop-up the menu, by comparing the<br>
coordinates with the screen's size, but it's an extra job, and it<br>
doesn't seem to be done.<br>
Moreover in the case the applet is inside a Desklet (icons are place<br>
inside Containers, which can be either a Dock, a Desklet, or even in any<br>
kind of Container), it could be anywhere on the screen.<br>
At the moment, the application that will summon the menu has no idea<br>
about the orientation and position of the container.<br>
* Second, the menu appears behind the dock, which makes it almost<br>
unusable. Probably because the menu doesn't belong to the dock, so the<br>
WM doesn't place it above the dock. I see no solution, but it wouldn't<br>
be a problem with a good menu placement.<br>
<br>
2) Tooltip :<br>
Allowing html-like markers is a kind of wrong good idea.<br>
Good because it allows for instance to stress on some words with a<br>
<b></b>.<br>
But unfortunately it's wrongly used by some applications (for instance<br>
Kopete adds some <qt></qt>, <nobr></nobr> and <br/>, which are not<br>
mentionned in<br>
<a href="http://www.notmart.org/misc/statusnotifieritem/markup.html" target="_blank">http://www.notmart.org/misc/statusnotifieritem/markup.html</a><div id=":9q" class="ii gt">).<br>
I think what we want is just a small tooltip to indicate things like<br>
current state or failure reasons, not some over-complicated html page.<br>
In the case of GLX-Dock, it uses the Pango markups to render the text in<br>
the dialog. Sticking to the Pango markups could be enough, but anyway<br>
the protocol should be clear about it.<br>
<br>
3) Icons :<br>
It should be clearly mentionned in the documentation to avoid using the<br>
pixmaps. It was not very clear for me whether the pixmap is here as a<br>
fallback if an icon name is not found, or just used in case the<br>
application draws its icon itself.<br>
As far as I could see, nobody uses pixmaps (and it's probably better for<br>
performance reasons).<br>
<br>
4) IconThemePath :<br>
I think it's not the job of the application to know where are the icons<br>
themes. The dock already has some nice searching functions to find an<br>
icon with a given name. Moreover, the dock can use a given icons theme<br>
and the application has no way to know that.<br>
So this property seems not very useful. A much better way would be to<br>
authorize to pass paths in IconName (it's not clear if this is allowed<br>
or if the icon must be present in an icons theme; paths in IconName<br>
would also make the pixmaps almost useless).<br>
<br>
5) AttentionMovieName :<br>
What's the point of this property, compared to AttentionIconName ? is it<br>
some kind of animated png/svg ?<br>
Should it be used in preference of AttentionIconName ?<br>
<br>
6) Scroll :<br>
It should be specified how negative numbers are handled (scroll up or<br>
down ?), although this is quite obivous.<br>
<br>
7) And finally the bus and interfaces names :<br>
I'm currently on KDE since they seem more advanced on this point than<br>
Gnome, and all their paths are org.kde.xyz.<br>
Shouldn't paths be org.freeedsktop.xyz ?<br>
<br>
Sorry for the long speech, and if some of my remarks are already taken<br>
into account in another more up-to-date documentation.<br>
Tanks for reading me !<br>
<br>
Fabounet.<br>
<br>
<a href="http://glx-dock.org/" target="_blank">http://glx-dock.org</a><br><br></div>