Re: A cross-platform status icon api



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.

Attachment: signature.asc
Description: This is a digitally signed message part



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