This is, unfortunately, Canonical's way of trying to dictate how everyone else uses their system: they have decided that the system tray is incompatible with their user interface philosophy, and they want everyone to re-write their apps to use their notification system. ---------------------
if you need to use the system tray anyway, you can add your application to the whitelist. You just need to edit a gconf setting, so you can do it from your installer or the first time the user run your application.
Nobody is forced to rewrite.
If you don't like Unity it's not a problem, you can also boot the Gnome session and go with it.
> I booted into Ubuntu Unity and was shocked to discover my app no longer > displays in the system tray. After looking around, I found this,
In addition to the whitelisting as Andrea suggested, you can also simply use python-appindicator. App Indicators replace the systray and for most cases, they are more sane (easier API, less problems). I'm not sure if and how well it integrates with the Qt main loop, but it works fine for GTK+-based applications.