Monday, June 18, 2007

The Pain With Java System Tray On KDE Desktop

System Tray came to us with Java 6. It is great feature we were waiting for a long time. Its functionality was very limited. Nevertheless many java developers were happy (including me).
Unfortunately, this new functionality came with problems. Namely one BIG problem. System tray does not work on KDE desktop. Bug with ID 6448876. Yes, it still exists. The really bad thing with the bag is that it looks like it WONT BE FIXED before Java 7. If you look at the user comments to the bag, you can see how many developers are frustrated with it. But it is marked as "closed", so it is ignored by Sun engineers.
I clearly realize MS Windows is OS of overwhelming majority of PC abound the globe. But there are also a lots of PC under Linux platform. And KDE is very popular desktop among Linux users. For those users Java system tray does not work. And wont work in the nearest future.
The good news is that Sun JRE is not the only one. There are also BEA JRockit and IBM IBM Early Release Program SDK 6. The latter is some kind of beta and is not available for MS Windows. On BOTH of them system tray works. And both of them have two problems:
  • they are rarely installed on regular Linux user PCs;
  • they have 32/64 bit CPU problem (which Sun Java does not have).
The 32/64 but CPU problem (my term :) ) is that there are a lots of 32 bit Linux installations on 64 bit PCs. You can't install 64 bit Java on such machines. 32 bit Java is the only choice. Both BEA and IBM 32 bit Java's don't work well on such machines.
The conclusion is: if you have a big desktop application which needs system tray functionality, you have a big headache with making it run correctly on KDE desktop.

No comments: