GNOME Bugzilla – Bug 349280
Move to GtkStatusIcon (Help kill libegg)
Last modified: 2009-05-20 23:52:53 UTC
+++ This bug was initially created as a clone of Bug #349256 +++ Please help kill libegg. Your module contains some egg code that is now deprecated thanks to new features, most probably the new GTK+ 2.10 features like: + GtkRecent* (deprecating EggRecent) + GtkStatusIcon (deprecating EggTrayIcon and EggStatusIcon) + GtkCellRendererAccel (deprecating EggCellRendererKeys) + GtkAccelGroup now has features to deprecate EggAccelerator (see bug 85780) Also, egg-screen-exec stuff has been deprecated: see http://cvs.gnome.org/viewcvs/*checkout*/libegg/libegg/screen-exec/README Also, EggIconList has become GtkIconView in GTK+ 2.6.
For us this means GtkStatusIcon. Some notes: * should we keep eggtrayicon for older versions of GTK or pull a copy of GtkStatusIcon into the tree * GtkStatusIcon doesn't support dnd (but does anyone actually drop files onto the icon?) * GtkStatusIcon doesn't support scroll events, which we currently respond to by changing the volume
Created attachment 70748 [details] [review] Patch to migrate EggTrayIcon to GtkStatusIcon Regressions as mentioned in #1. No support for GTK+ < 2.10 implemented.
(In reply to comment #2) > Regressions as mentioned in #1. No support for GTK+ < 2.10 implemented. This is pretty much a deal-breaker for me. FC-5 is still on GTK 2.8 and FC-4 is on GTK 2.6, I think. Rhythmbox should still run on 2.8, so we should make a local copy if GTK >=2.10 is not found.
Created attachment 70791 [details] [review] Patch to migrate EggTrayIcon to GtkStatusIcon Regressions as mentioned in comment #1. Support for EggTrayIcon (GTK+ < 2.10) implemented.
Another regression: * GtkStatusIcon doesn't support mouseover events (we use a SexyTooltip for displaying rich information) I've filed bug 409435 (blocking here) to look at ways of solving this.
Rhythmbox currently has code for minimizing to tray. This was used as an example of how to properly hint to compiz (where the window went) with regard to Pidgin's tray icon: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/146461 I suggested there that this code move to GtkStatusIcon. It seems that this will come up for you guys in the course of porting to GtkStatusIcon.
As of gtk 2.16, GtkStatusIcon has everything (as far as I know) we need to provide the same features as the current tray icon. I think it's too soon to depend on gtk 2.16, so we'll need to keep the eggtrayicon code around for a while longer.
*** Bug 469435 has been marked as a duplicate of this bug. ***
The new status icon plugin uses GtkStatusIcon when built with gtk 2.16 or newer.
*** Bug 583358 has been marked as a duplicate of this bug. ***