thoughts on the systray

Aaron J. Seigo aseigo at kde.org
Mon Feb 14 12:06:17 GMT 2005


On Monday 14 February 2005 03:52, Michael Brade wrote:
> > the application with a systray entry would only publish data, (and
> > receive event notifications, for instance "the user wants to see a
> > context menu for this entry") and not have anything to do with the actual
> > presentation or management of the GUI.
>
> Erm... there is no management of the GUI in the systray anyway.

when was the last time you hacked on it? ;) there's a lot of GUI management 
that happens right now in the system tray applet, and a lot more than needs 
to happen.

> You have 
> exactly the mouse clicks, nothing else.  So the event notifications would 
> have to be "LMB clicked", "MMB clicked", "RMB clicked" and all three with
> double clicks as well. (Additionally you might have to submit the mouse
> position.)

right now, yes. in future there will also be:

 o keyboard access
 o current app status requests (used for icon hiding, which is pretty lame atm 
because of this)
 o perhaps more =)

and i really don't want individual apps deciding what a "rmb" means. 
currently, each developer decides what to do and so we have a mish mash of 
behaviours. so instead of "rmb clicked" you'll get "show a context menu at 
point (x,y)". this will simultaneously limit the number of actions a systray 
app can take (making the "stop the insanity" folks happy) while still 
allowing a wide range of flexibility (making app writers and their users 
happy).

this is also an important step towards proper cross-desktop support. GNOME may 
want left clicks on icons to bring up a context menu. KDE may want left 
clicks to show/hide the main app interface. this allows both to make those 
decisions and have all systray entries obey them! wowzers! 

we could even make these mappings configurable if we were crazy enough =)

> > this immediately puts some limits on the system
> > tray, allows the host app to sanely and powerfully manage the information
> > in its display
>
> If you break my little app (KNotes) I'll know where to find you! That
> includes if you force it to have a big ugly main window or make it
> impossible to create the menus that have to be shown on ?MB click.

this is actually what i'm trying to avoid happening =)

i fear that if the system tray becomes just a "notification area" then things 
like knotes would have to become applets and i'm really not cool with that.
in other words, i'm on your side, dude! =)

> > and separates the publish/display actions.
>
> What's the difference between these? What is a "publish action"?

sorry, ambiguous wording on my part. i should have said: it separates the act 
of publishing the intent to show something in the system tray and act of 
actually displaying it.

so applications simply publish onto a message bus, "this set of information 
belongs in the system tray" and the system tray then goes about the business 
of displaying that information and managing the interaction with each entry.

-- 
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050214/82342e1d/attachment.sig>


More information about the kde-core-devel mailing list