[Usability] Notification Area Preferences



Here's a proposal for notification area preferences, in screenshot form:

  http://www.phys.lsu.edu/students/merchan/shots/NotificationAreaPrefs.png

And now, what you can't see in a screenshot. (Please note that I call it
the "tray" and the "notifcation area" indiscriminately.)

First, this is a rip-off of a dialog I once saw associated with WindowsXP.
I don't know what WinXP's dialog actually looks like or whether they have
one at all.

Second, the names shown will come from the _NET_WM_NAME hint which every icon
should set according to the freedesktop.org spec.

  http://www.freedesktop.org/standards/systemtray.html

If icons are setting the WM_CLASS and _NET_WM_ICON hints, those may also
be shown in the list. Perhaps the tray could provide demo icons based on a
capture of the image shown in an icon.

The first list of items, "Standard GNOME notification icons", will include
notification icons that are part of the GNOME Desktop release. These should
provide .desktop files that the notification area can use to fill this
list and, if necessary, run the correct programs. The items shown in the
screenshot are factitious, but I believe there are similar items available
in GNOME or distributions.

The second list of items, "Application and other icons", will be generated
over time as applications request tray icons be shown. I've listed those
in the screenshot because I know GAIM and GnomeChat both have tray icons,
though I don't know their names. 

The checkbox, "Allow unidentifiable icons", is there in case programs
provide icons without setting the recommended hints.

Applications providing icons need not be aware of these preferences. They
can provide icons as usual and will just be ignored, or left unmapped, by
the tray. However, they can detect when they are being ignored or left
unmapped and could performs tricks to get themselves mapped. Obviously,
they should not do this. There is one exception: if the user asks the
application to show its icon explicitly - e.g., by checking a box in the
application's preferences window - and the application detects its icon
is not being mapped, then it should present an alert directing the user
to adjust his preferences in the notification area. So that an application
alert may direct the user to the notification area preferences window, the
notification area's manager selection might support a target indicating
its preferences should be shown.

The reason for providing a checklist should be obvious to anyone who has
suffered Windows; sometimes applications provide unwanted icons and there's
no obvious way to get rid of them.

The checklist need not be split in two, but I think it's nicer that way
and that the grouping should be made even if not visible to the user.

I think it's nicer because it allows those icons that should be considered
an integral part of the user experience to stand out. We and other OSes make
a similar distinction in other ways; for example, a window manager isn't
necessary, but everything is much smoother when you have one.

The grouping should be made - that is, there should be some standard items
with .desktop files available to the tray - for the same reason.

Other applications might provide .desktop files so the tray can list them
in advance of the first showing, but that should not be necessary. As it
stands, the tray works no matter where an application is running as long
as it's connected to the X server. Requiring .desktop files, we'd loose
that feature.

Whether the tray should leave undocked or unmapped those unwanted icons
is not specified in the tray protocol. This does not matter because the
map state is the ultimate indicator of what has happened. Undocked icons
are never mapped, and unmapped icons are never seen.

The screenshot was made from a quick hack for the purpose of a screenshot.
It's not clean code, but I can provide it to someone implementing the
preferences window.


Cheers,
Greg



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