Re: A cross-platform status icon api



On Fri, 2005-08-26 at 15:00 -0400, Colin Walters wrote:
> 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.
> 

That may make sense, also for the "no systray in panel" case you mention
later. It seems that there is some implementation for the java TrayIcon
API on OS X, though.


> > - 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.

Did you see that EggTray already has API for sending notifications from
the tray icon to the tray, with gtk_status_icon_set_balloon_text() ?

Matthias




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]