Re: A cross-platform status icon api



Colin Walters wrote:

>On Tue, 2005-08-30 at 11:37 +0800, James Henstridge wrote:
>
>  
>
>>I believe part of the reason for having the notification area pop up the
>>balloons was to give a consistent visual appearance for the balloons.
>>    
>>
>
>Isn't that generally addressed by having the widget in GTK+?
>  
>
Given that the notification area spec was designed to be cross desktop,
it was probably so that icons implemented with different toolkits
presented a common API.

>Note that for the suggested cases that involve interaction, which is
>nearly all:
>
>http://www.gnome.org/~clarkbw/blog/GNOME/nostrum
>
>the interaction with the app is going to be using some toolkit like GTK+
>to pop up dialogs/menus such anyways, and that behavior is still
>toolkit-dependent.  I don't think creating protocols just for consistent
>appearance is worth the engineering time.  We could also remote
>GtkMessageDialog of course...but it gets way harder after that.
>  
>
Sure.  The client message based protocol in EggTray/EggTrayIcon may not
be the right solution.  I was just pointing out the reason it is
probably done like that.

>>If that isn't considered important, perhaps a simpler protocol would
>>make sense.  Perhaps something like this:
>>
>>   1. icon tells tray that it wants to pop up a balloon
>>   2. icon receives permission from tray, and pops up balloon
>>   3. icon decides when to pop down balloon (timeout, user interaction,
>>      etc), and tells tray when it does so.
>>
>>The above has its own problems though, since a hung notification icon
>>could prevent future notifications from appearing.
>>    
>>
>
>Why is this protocol necessary?  What would determine permission?
>  
>
If two icons want to display a balloon, it would be nice if they did it
one after the other, rather than both displaying them at the same time
(overlapping), and timing them out at the same time.

The notification area is in a position to coordinate this sort of thing
so that the notifications get queued.  In order to queue the balloons,
the notification area would need to know when an icon wanted to display
one (1), and then tell one icon at a time to display its balloon (2).

James.



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