On Fri, 2005-08-26 at 14:23 -0400, Matthias Clasen wrote: > The requirement to have an API that can be implemented on all > platforms > supported by GTK+ rules out the EggTrayIcon API, since Win32 does not > allow to embed arbitrary windows into the system tray. The > EggStatusIcon > API matches pretty well the functionality which can be implemented in > a cross-platform way. There are definitely some questions involved here - while it has an obvious equvalent on Win32, I'm not sure what it would do on MacOS X for example. Maybe the API should include a way to query whether a notification area is supported at all? Apps might want to behave differently if there is no support for it (e.g. displaying status inside their main window), rather than just not showing an icon. > - Allow showing balloon messages. The EggStatusIcon code for sending > balloon messages is currently broken, and they are just thrown away > by the current tray implementation anyway. We may want to hold off > on this until the dust settles after the libnotify discussions... I think we do ultimately want an API for this, because it is very useful for notification icons, and it does have an obvious equivalent on Win32. Just a note - current Rhythmbox CVS has notification bubbles and an API for using them in EggTrayIcon: http://cvs.gnome.org/viewcvs/rhythmbox/widgets/eggtrayicon.h http://cvs.gnome.org/viewcvs/rhythmbox/widgets/eggnotificationbubble.h http://cvs.gnome.org/viewcvs/rhythmbox/widgets/eggnotificationbubble.c This does not require libnotify or dbus or anything like that, just a regular GTK+ widget. It has a simple GObject-based API with signals, etc.
Description: This is a digitally signed message part