FULL PRODUCT VERSION :
Pulled from sources at jdk-6u2-ea-src-b02-jrl-12_apr_2007.jar
ADDITIONAL OS VERSION INFORMATION :
Linux bishop 2.6.16.37-0.20-default #1 Wed Feb 14 03:50:25 UTC 2007 i686 i686 i386 GNU/Linux
Applies to all linux machines
EXTRA RELEVANT SYSTEM CONFIGURATION :
GNOME 2.x and KDE 3.x
A DESCRIPTION OF THE PROBLEM :
In XToolkit.java, systray support is determined by the following function:
public boolean isTraySupported() {
int wm = XWM.getWMID();
if (wm == XWM.METACITY_WM || wm == XWM.KDE2_WM)
{
return true;
}
return false;
}
so it is hardcoding the window manager.
Trivial fix is straightforward of course, just add compiz to the list of wmids.
The real fix though needs more complexity, checking for metacity isn't strictly correct, gnome-panel needs to be running, and in the case of KDE kwin isn't enough, kicker needs to be running as well. xfce probably has a systray implementation as well that should be covered.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
call SystemTray.isSupported() in a GNOME or KDE system running compiz.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
returns true
ACTUAL -
returns false
REPRODUCIBILITY :
This bug can be reproduced always.