<AWT Dev> [RFC] Tray icons for applications are not displayed in the GNOME notification bar.

Danesh Dadachanji ddadacha at redhat.com
Tue Oct 25 11:00:30 PDT 2011

Hi Anthony,

Thanks for the comments.

On 24/10/11 08:49 AM, Anthony Petrov wrote:
> Hi Danesh,
> While you're at it, there's just been filed a bug report:
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103610

WM_CLASS is already set to something relative to what is being run. E.g. 
when using xprop on a Frame
$ xprop
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "test-TestFrame"

Reading the specs of WM_CLASS[1], I think the above is incorrect. I 
believe "test-TestFrame" makes more sense as the first st ring, the 
instance name.

As for the second one, from my understanding of the spec, you would want 
it to be set to something more generic that. Do you think "Java" is a 
better option?

> which suggests that the mentioned window properties need to be set on
> all application's windows, not just the tray icon window. What do you
> think about extending this logic to all windows? We could add a method
> in the XWindowPeer class for this, and install the properties on all
> windows (including the tray icon - since it's an embedded frame that
> uses the XEmbeddedFramePeer as its peer).

If all app windows need to be set, wouldn't this mean all X components 
as well? In which case, how does adding the code to XBaseWidnow (looking 
specifically at init) sound?


>> There's no any guarantees regarding the format of the string returned.
>> Which means that if the XToolkit code is going to be run with a VM other
>> than, say, Hotspot, the method may return a differently formatted
>> string, and hence this code may fail.
>> Is there a more robust way to obtain the PID and the client FQDN?

For the PID, I think using JNI to access getpid() would be the next best 
option. I'll look for another way to find the FQDN.

>> --
>> best regards,
>> Anthony


[1] http://tronche.com/gui/x/icccm/sec-4.html#s-

More information about the awt-dev mailing list