CustomStatusMenuDesignGuidelines

Differences between revisions 2 and 3
Revision 2 as of 2010-01-11 16:59:13
Size: 3410
Editor: eth0
Comment: + menu title
Revision 3 as of 2010-01-11 17:12:24
Size: 3383
Editor: eth0
Comment: for programs in general, not just applications
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * '''custom status menus''' for applications (known as “application indicators”)  * '''custom status menus''' for programs, known as “application indicators”
Line 9: Line 9:
These guidelines cover how to design your application’s presence in the status menus. (For implementation details, see DesktopExperienceTeam/ApplicationIndicators.) These guidelines cover how to design your program’s presence in the status menus. (For implementation details, see DesktopExperienceTeam/ApplicationIndicators.)
Line 13: Line 13:
Consider using a custom status menu if there is a substantial benefit from the application running in the background without any windows open. (Do not count quicker startup as a benefit here: an application’s presence in the panel should not depend on how fat the application happens to be.) Consider using a custom status menu if there is a substantial benefit from the program running in the background without any windows open. (Do not count quicker startup as a benefit here: a program’s presence in the panel should not depend on how bloated the program happens to be.)
Line 17: Line 17:
 * You just want the application to take up a small space when minimized. The window switcher can take care of this. We welcome ideas for enhancing the window switcher to cater better for long-running applications.  * You just want the program to take up a small space in the panel when minimized. The window switcher can take care of this. We welcome ideas for enhancing the window switcher to cater better for long-running applications.
Line 27: Line 27:
When porting an application that previously had a notification area item to use a custom status menu, remember that you will need to consider: When porting a program that previously had a notification area item to use a custom status menu, remember that you will need to consider:
Line 32: Line 32:
Concentrate on actions that people are likely to want to perform without first opening or focusing a window of the application.  Concentrate on actions that people are likely to want to perform without first opening or focusing a window of the program.
Line 40: Line 40:
If the application has a Preferences or Settings window, there should be a checkbox in that window (typically under a “General” or “Appearance” category), with a label of the form “'''Show '''{Application Name}''' menu in the panel'''” or “'''Show '''{type of status}''' in the panel'''”. The menu itself should end with a separator followed by an “{Application Name}''' Preferences…'''” or “{type of status}''' Settings…'''” item that opens/focuses the window to display the checkbox. If the program has a Preferences or Settings window, there should be a checkbox in that window (typically under a “General” or “Appearance” category), with a label of the form “'''Show '''{Application Name}''' menu in the panel'''” or “'''Show '''{type of status}''' in the panel'''”. The menu itself should end with a separator followed by an “{Application Name}''' Preferences…'''” or “{type of status}''' Settings…'''” item that opens/focuses the window to display the checkbox.
Line 42: Line 42:
If the application does not have a Preferences or Settings window, add a “'''Show in Panel'''” checkmark item to whichever menu contains other view settings. If the program does not have a Preferences or Settings window, add a “'''Show in Panel'''” checkmark item to whichever menu contains other view settings.

These guidelines are licensed under the GNU Free Documentation License version 1.1 or any later version. By editing this page you agree to license your contributions under those terms. Feedback is welcome at CustomStatusMenuDesignGuidelines/Comments.

Canonical Design team, January 2010

Over the next few releases, Ubuntu is phasing out the notification area (sometimes known as the “system tray”) because of its clutter, inconsistency and poor integration with the rest of the panel. We are replacing it with two types of status menu:

  • custom status menus for programs, known as “application indicators”

  • system status menus for messaging, power, sound, etc.

These guidelines cover how to design your program’s presence in the status menus. (For implementation details, see DesktopExperienceTeam/ApplicationIndicators.)

Does your program need a custom status menu?

Consider using a custom status menu if there is a substantial benefit from the program running in the background without any windows open. (Do not count quicker startup as a benefit here: a program’s presence in the panel should not depend on how bloated the program happens to be.)

You do not need a custom status menu if:

  • You just want the program to take up a small space in the panel when minimized. The window switcher can take care of this. We welcome ideas for enhancing the window switcher to cater better for long-running applications.
  • The application is for IM, IRC, e-mail, or newsreading. Instead, integrate the application with the messaging menu.

What should the title look like?

The menu title should almost always be a symbolic icon. Keep the icon appearance the same, varying it only if necessary to represent changing status. Avoid animated or flashing icons.

What should be in a custom status menu?

When porting a program that previously had a notification area item to use a custom status menu, remember that you will need to consider:

  • any action that happened when clicking (or double-clicking) the notification area item
  • any menu that appeared when clicking the notification area item
  • any menu that appeared when secondary-clicking the notification area item.

Concentrate on actions that people are likely to want to perform without first opening or focusing a window of the program.

Arrange items in a custom status menu just as you would for an ordinary menu bar menu: related items together, more common items first.

How should people hide the menu?

A custom status menu should be optional.

If the program has a Preferences or Settings window, there should be a checkbox in that window (typically under a “General” or “Appearance” category), with a label of the form “Show {Application Name} menu in the panel” or “Show {type of status} in the panel”. The menu itself should end with a separator followed by an “{Application Name} Preferences…” or “{type of status} Settings…” item that opens/focuses the window to display the checkbox.

If the program does not have a Preferences or Settings window, add a “Show in Panel” checkmark item to whichever menu contains other view settings.

CustomStatusMenuDesignGuidelines (last edited 2010-08-10 13:09:15 by eth0)