[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-usability
Subject:    Re: ksytray madness
From:       Mike Hearn <mike () theoretic ! com>
Date:       2003-10-27 10:41:17
[Download RAW message or body]

Have you considered the possibility that the system tray is just a
generally broken concept?

It's used for the following things (in theory):

* Notifying people of things
* As a mini-ui for quick access to various features of the app,
typically raising it on the current virtual desktop. Often tray icons are
used as a desktop-portable form of panel applets, obviously this is not
ideal.
* To indicate that an app that otherwise would have no main window is running,
allow it to be quit etc

All these tasks are really separate, but are lumped together into the
"tray" because that's what Windows has always done. Then you end up with
nasty hacks like in XP.

A better solution might be to:

a) Add a new EWMH hint which causes the window list/taskbar to shrink the
window button to just an icon (and hide the border), then pack it to one
end. Combined with the sticky flags that already exist, that allows you to
have a window always accessible on any desktop - one of the primary
things many apps use the system tray to do.

b) Allow apps to embed new menu items into their window menu. We need this
in the Wine project anyway. That would mean you could have the equivalent
of the tray icon menu, but as part of the window menu. You've now replaced
the "mini-ui" use case completely, but it's semantically cleaner: the
window list is for managing windows, the system tray is not.

c) Provide a poptart/toaster service. The tray as a means to notify the
user of things is kind of flawed anyway, the icons are small, easy to
miss, and so you have to resort to balloons and things to get your message
across. The way MSN Messenger does it seems better to me - and besides, if
there is a generic service to do it, you can choose whatever
representation or ui you like. I'd suggest that be done via DBUS, *not*
DCOP, as otherwise apps like Gaim that wish to be desktop neutral will
just re-invent the wheel to avoid dragging in Qt/kdelibs etc...

d) For apps that are running but have no main window, for instance
khotkeys, oooqs etc, the session manager might be a better place to deal
with these apps. As it is, the user is being informed about an
optimization (preloading OO) that should just be hidden, they don't need
to know about it.

thanks -mike

_______________________________________________
kde-usability mailing list
kde-usability@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-usability
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic