Hassle- Free Browsing. Executive Summary: improved support for High DPI displays, IE1. Quero Toolbar is an open- source navigation bar, search. Increase productivity with NVIDIA nView® desktop software to efficiently manage your workspace. As the magnitude of data increases, it is more crucial than ever for professionals to efficiently manage their system's single or multi monitor workspace. Using NVIDIA nView software, professionals have maximum flexibility and.
Basic format of the file Desktop entry files should have the.desktop extension, except for files of Type Directory which should have the.directory extension. Determining file type on basis of extension makes determining the file type very easy and quick.
When no file extension is present, the desktop system should fall back to recognition via 'magic detection'. For applications, the part of the name of the desktop file (before the.desktop) should follow the 'reverse DNS' convention, e.g. Desktop entry files are encoded in UTF-8.
A file is interpreted as a series of lines that are separated by linefeed characters. Case is significant everywhere in the file. Compliant implementations MUST not remove any fields from the file, even if they don't support them. Such fields must be maintained in a list somewhere, and if the file is 'rewritten', they will be included.
This ensures that any desktop-specific extensions will be preserved even if another system accesses and changes the file. • Values of type string may contain all ASCII characters except for control characters. • Values of type localestring are user displayable, and are encoded in UTF-8.
• Values of type boolean must either be the string true or false. • Values of type numeric must be a valid floating point number as recognized by the%f specifier for scanf in the C locale. The escape sequences s, n, t, r, and are supported for values of type string and localestring, meaning ASCII space, newline, tab, carriage return, and backslash, respectively. Some keys can have multiple values. In such a case, the value of the key is specified as a plural: for example, string(s). The multiple values should be separated by a semicolon and the value of the key may be optionally terminated by a semicolon. Trailing empty strings must always be terminated with a semicolon.
Semicolons in these values need to be escaped using. Localized values for keys Keys with type localestring may be postfixed by [ LOCALE], where LOCALE is the locale type of the entry. LOCALE must be of the form lang_ COUNTRY. ENCODING@ MODIFIER, where _ COUNTRY,. ENCODING, and @ MODIFIER may be omitted. If a postfixed key occurs, the same key must be also present without the postfix. When reading in the desktop entry file, the value of the key is selected by matching the current POSIX locale for the LC_MESSAGES category against the LOCALE postfixes of all occurrences of the key, with the.
ENCODING part stripped. The matching is done as follows. If LC_MESSAGES is of the form lang_ COUNTRY. ENCODING@ MODIFIER, then it will match a key of the form lang_ COUNTRY@ MODIFIER.
House Of Broken Promises Using The Useless RARE here. Green Day 1039 Smoothed Out Slappy Hours Rare more. If such a key does not exist, it will attempt to match lang_ COUNTRY followed by lang@ MODIFIER. Then, a match against lang by itself will be attempted. Finally, if no matching key is found the required key without a locale specified is used.
The encoding from the LC_MESSAGES value is ignored when matching. If LC_MESSAGES does not have a MODIFIER field, then no key with a modifier will be matched.
Similarly, if LC_MESSAGES does not have a COUNTRY field, then no key with a country specified will be matched. If LC_MESSAGES just has a lang field, then it will do a straight match to a key with a similar value.
The following table lists possible matches of various LC_MESSAGES values in the order in which they are matched. Note that the ENCODING field isn't shown. Recognized desktop entry keys Keys are either OPTIONAL or REQUIRED. If a key is OPTIONAL it may or may not be present in the file. However, if it isn't, the implementation of the standard should not blow up, it must provide some sane defaults.
Some keys only make sense in the context when another particular key is also present and set to a specific value. Those keys should not be used if the particular key is not present or not set to the specific value. For example, the Terminal key can only be used when the value of the Type key is Application. If a REQUIRED key is only valid in the context of another key set to a specific value, then it has to be present only if the other key is set to the specific value. For example, the URL key has to be present when and only when when the value of the Type key is Link.
Some example keys: Name[C], Comment[it]. Key Description Value Type REQ? Type Type This specification defines 3 types of desktop entries: Application (type 1), Link (type 2) and Directory (type 3).
To allow the addition of new types in the future, implementations should ignore desktop entries with an unknown type. String YES Version Version of the Desktop Entry Specification that the desktop entry conforms with. Entries that confirm with this version of the specification should use 1.0. Note that the version field is not required to be present. String NO 1-3 Name Specific name of the application, for example 'Mozilla'. Localestring YES 1-3 GenericName Generic name of the application, for example 'Web Browser'. Localestring NO 1-3 NoDisplay NoDisplay means 'this application exists, but don't display it in the menus'.
This can be useful to e.g. Associate this application with MIME types, so that it gets launched from a file manager (or other apps), without having a menu entry for it (there are tons of good reasons for this, including e.g. The netscape -remote, or kfmclient openURL kind of stuff). Boolean NO 1-3 Comment Tooltip for the entry, for example 'View sites on the Internet'. The value should not be redundant with the values of Name and GenericName. Localestring NO 1-3 Icon Icon to display in file manager, menus, etc.
If the name is an absolute path, the given file will be used. If the name is not an absolute path, the algorithm described in the will be used to locate the icon.
Localestring NO 1-3 Hidden Hidden should have been called Deleted. It means the user deleted (at his level) something that was present (at an upper level, e.g. In the system dirs).
It's strictly equivalent to the.desktop file not existing at all, as far as that user is concerned. This can also be used to 'uninstall' existing files (e.g. Due to a renaming) - by letting make install install a file with Hidden=true in it. Boolean NO 1-3 OnlyShowIn, NotShowIn A list of strings identifying the desktop environments that should display/not display a given desktop entry.
By default, a desktop file should be shown, unless an OnlyShowIn key is present, in which case, the default is for the file not to be shown. If $XDG_CURRENT_DESKTOP is set then it contains a colon-separated list of strings. In order, each string is considered. If a matching entry is found in OnlyShowIn then the desktop file is shown.
If an entry is found in NotShowIn then the desktop file is not shown. If none of the strings match then the default action is taken (as above). The same desktop name may not appear in both OnlyShowIn and NotShowIn of a group.
String(s) NO 1-3 DBusActivatable A boolean value specifying if D-Bus activation is supported for this application. If this key is missing, the default value is false. If the value is true then implementations should ignore the Exec key and send a D-Bus message to launch the application. See for more information on how this works. Applications should still include Exec= lines in their desktop files for compatibility with implementations that do not understand the DBusActivatable key. Boolean NO TryExec Path to an executable file on disk used to determine if the program is actually installed.
If the path is not an absolute path, the file is looked up in the $PATH environment variable. If the file is not present or if it is not executable, the entry may be ignored (not be used in menus, for example). String NO 1 Exec Program to execute, possibly with arguments. See the for details on how this key works. The Exec key is required if DBusActivatable is not set to true. Even if DBusActivatable is true, Exec should be specified for compatibility with implementations that do not understand DBusActivatable. String NO 1 Path If entry is of type Application, the working directory to run the program in.
String NO 1 Terminal Whether the program runs in a terminal window. Boolean NO 1 Actions Identifiers for application actions. This can be used to tell the application to make a specific action, different from the default behavior. The section describes how actions work. String(s) NO 1 MimeType The MIME type(s) supported by this application.
String(s) NO 1 Categories Categories in which the entry should be shown in a menu (for possible values see the ). String(s) NO 1 Implements A list of interfaces that this application implements. By default, a desktop file implements no interfaces. See for more information on how this works. String(s) NO Keywords A list of strings which may be used in addition to other metadata to describe this entry. This can be useful e.g. To facilitate searching through entries.
The values are not meant for display, and should not be redundant with the values of Name or GenericName. Localestring(s) NO 1 StartupNotify If true, it is KNOWN that the application will send a 'remove' message when started with the DESKTOP_STARTUP_ID environment variable set. If false, it is KNOWN that the application does not work with startup notification at all (does not shown any window, breaks even when using StartupWMClass, etc.). If absent, a reasonable handling is up to implementations (assuming false, using StartupWMClass, etc.). (See the for more details). Boolean NO 1 StartupWMClass If specified, it is known that the application will map at least one window with the given string as its WM class or WM name hint (see the for more details).
String NO 1 URL If entry is Link type, the URL to access. String YES 2. The Exec key The Exec key must contain a command line. A command line consists of an executable program optionally followed by one or more arguments. The executable program can either be specified with its full path or with the name of the executable only. If no full path is provided the executable is looked up in the $PATH environment variable used by the desktop environment. The name or path of the executable program may not contain the equal sign ('=').
Arguments are separated by a space. Arguments may be quoted in whole. If an argument contains a reserved character the argument must be quoted. The rules for quoting of arguments is also applicable to the executable name or path of the executable program as provided.
Quoting must be done by enclosing the argument between double quotes and escaping the double quote character, backtick character ('`'), dollar sign ('$') and backslash character (' ') by preceding it with an additional backslash character. Implementations must undo quoting before expanding field codes and before passing the argument to the executable program. Reserved characters are space (' '), tab, newline, double quote, single quote (''), backslash character (' '), greater-than sign ('>'), less-than sign ('. Code Description%f A single file name, even if multiple files are selected. The system reading the desktop entry should recognize that the program in question cannot handle multiple file arguments, and it should should probably spawn and execute multiple copies of a program for each selected file if the program is not able to handle additional file arguments. If files are not on the local file system (i.e.
Are on HTTP or FTP locations), the files will be copied to the local file system and%f will be expanded to point at the temporary file. Used for programs that do not understand the URL syntax.%F A list of files. Use for apps that can open several local files at once. Each file is passed as a separate argument to the executable program.%u A single URL. Local files may either be passed as file: URLs or as file path.%U A list of URLs. Each URL is passed as a separate argument to the executable program.
Local files may either be passed as file: URLs or as file path.%d Deprecated.%D Deprecated.%n Deprecated.%N Deprecated.%i The Icon key of the desktop entry expanded as two arguments, first --icon and then the value of the Icon key. Should not expand to any arguments if the Icon key is empty or missing.%c The translated name of the application as listed in the appropriate Name key in the desktop entry.%k The location of the desktop file as either a URI (if for example gotten from the vfolder system) or a local filename or empty if no location is known.%v Deprecated.%m Deprecated. A command line may contain at most one%f,%u,%F or%U field code. If the application should not open any file the%f,%u,%F and%U field codes must be removed from the command line and ignored. Field codes must not be used inside a quoted argument, the result of field code expansion inside a quoted argument is undefined. The%F and%U field codes may only be used as an argument on their own. Interfaces The Implements key can be used to declare one or more interfaces that a desktop file implements.
Each interface name must follow the rules used for D-Bus interface names, but other than that, they have no particular meaning. For instance, listing an interface here does not necessarily mean that this application implements that D-Bus interface or even that such a D-Bus interface exists. It is entirely up to the entity who defined a particular interface to define what it means to implement it. Although it is entirely up to the designer of the interface to decide what a given interface name means, here are some recommended 'best practices'.
Key Description Value Type REQ? Name Label that will be shown to the user. Since actions are always shown in the context of a specific application (that is, as a submenu of a launcher), this only needs to be unambiguous within one application and should not include the application name. Localestring YES Icon Icon to be shown togheter with the action. If the name is an absolute path, the given file will be used. If the name is not an absolute path, the algorithm described in the will be used to locate the icon. Implementations may choose to ignore it.
Localestring NO Exec Program to execute for this action, possibly with arguments. See the for details on how this key works. The Exec key is required if DBusActivatable is not set to true in the main desktop entry group. Even if DBusActivatable is true, Exec should be specified for compatibility with implementations that do not understand DBusActivatable. Implementation notes Application actions should be supported by implementors. However, in case they are not supported, implementors can simply ignore the Actions key and the associated Desktop Action action groups, and keep using the Desktop Entry group: the primary way to describe and invoke the application is through the Name, Icon and Exec keys from the Desktop Entry group.
It is not expected that other desktop components showing application lists (software installers, for instance) will provide any user interface for these actions. Therefore applications must only include actions that make sense as general launchers. • Type=MimeType is deprecated as there is a new standard for this now, see the for more information. In consequence the Keys Patterns (various file name extensions associated with the MIME type) and DefaultApp (the default application associated with this MIME type) are also deprecated.
• Using.kdelnk instead of.desktop as the file extension is deprecated. • Using [KDE Desktop Entry] instead of [Desktop Entry] as header is deprecated. • The Encoding key is deprecated. It was used to specify whether keys of type localestring were encoded in UTF-8 or in the specified locale. Possible values are UTF-8 and Legacy-Mixed. See for more details.
• Deprecated Exec field codes:%m (the mini-icon associated with the desktop entry, this should be expanded as two arguments, --miniicon and the content of the MiniIcon key, it can also be ignored by expanding it to no arguments),%v (the device as listed in the Dev key in the desktop file),%d (the directory of a file),%D (the directories of files),%n (the base name of a file) and%N (the base names of files). • Deprecated keys: MiniIcon (small icon for menus, etc.), TerminalOptions (if the program runs in a terminal, any options that should be passed to the terminal emulator before actually executing the program), Protocols, Extensions, BinaryPattern, MapNotify. • The SwallowTitle and SwallowExec keys are deprecated.
The SwallowTitle key is of type localestring and specifies the title of the window if is swallowed onto the panel. The SwallowExec key is of type string and specifies the program to exec if swallowed app is clicked. • The SortOrder key is deprecated. It is of type string(s) and may be used to specify the order in which to display files.
The defines another mechanism for defining the order of menu items. • The FilePattern key is deprecated. The value is a list of regular expressions to match against for a file manager to determine if this entry's icon should be displayed. Usually simply the name of the main executable and friends. • Historically some booleans have been represented by the numeric entries 0 or 1.
With this version of the standard they are now to be represented as a boolean string. However, if an implementation is reading a pre-1.0 desktop entry, it should interpret 0 and 1 as false and true, respectively. • Historically lists have been comma separated.
This is inconsistent with other lists which are separated by a semicolon. When reading a pre-1.0 desktop entry, comma separated lists should continue to be supported.
D. The Legacy-Mixed Encoding (Deprecated) The Legacy-Mixed encoding corresponds to the traditional encoding of desktop files in older versions of the GNOME and KDE desktop files. In this encoding, the encoding of each localestring key is determined by the locale tag for that key, if any, instead of being UTF-8. For keys without a locale tag, the value must contain only ASCII characters.
If the file specifies an unsupported encoding, the implementation should either ignore the file, or, if the user has requested a direct operation on the file (such as opening it for editing), display an appropriate error indication to the user. In the absence of an Encoding key, the implementation may choose to autodetect the encoding of the file by using such factors as. Encoding The name given here is listed here is typically the canonical name for the encoding in the GNU C Library's iconv facility. Encodings marked with (*) are not currently supported by the GNU C Library; for this reason, implementations may choose to ignore lines in desktop files that resolve to this encoding. Desktop files with these encodings are currently rare or non-existent. Aliases Other names for the encoding found in existing desktop files.
Tags Language tags for which this is the default encoding. This table above covers all tags and encodings that are known to be currently in use. Implementors may choose to support encodings not in the above set.
For tags without defaults listed in the above table, desktop file creators must specify the. ENCODING part of the locale tag. Matching the. ENCODING part of the locale tag against a locale name or alias should be done by stripping all punctuation characters from both the tag and the name or alias, converting both name and alias to lowercase, and comparing the result.
This is necessary because, for example, Big5 is frequently found instead of BIG5 and georgianacademy instead of GEORGIAN-ACADEMY. Desktop files creators should, however, use the name as it appears in the 'Encoding' column above. E. Desktop File ID The desktop file ID is the identifier of an installed desktop entry file. To determine the ID of a desktop file, make its full path relative to the $XDG_DATA_DIRS component in which the desktop file is installed, remove the 'applications/' prefix, and turn '/' into '-'. For example /usr/share/applications/foo/bar.desktop has the desktop file ID foo-bar.desktop. If multiple files have the same desktop file ID, the first one in the $XDG_DATA_DIRS precedence order is used. For example, if $XDG_DATA_DIRS contains the default paths /usr/local/share:/usr/share, then /usr/local/share/applications/org.foo.bar.desktop and /usr/share/applications/org.foo.bar.desktop both have the same desktop file ID org.foo.bar.desktop, but only the first one will be used.
If both foo-bar.desktop and foo/bar.desktop exist, it is undefined which is selected. If the desktop file is not installed in an applications subdirectory of one of the $XDG_DATA_DIRS components, it does not have an ID.
The notification area provides notifications and status. Well-designed programs use the notification area appropriately, without being annoying or distracting. The notification area is a portion of the taskbar that provides a temporary source for notifications and status. It can also be used to display icons for system and program features that have no presence on the desktop. Items in the notification area are referred to as notification area icons, or simply icons if the context of the notification area is already clearly established.
The notification area. To give users control of their desktop in Windows 7, not all notification area icons are displayed by default.
Rather, icons are displayed in the notification area overflow unless promoted to the notification area by the user. The notification area overflow. Note: Guidelines related to the,, and are presented in separate articles. Is this the right user interface? To decide, consider these questions: • Does your program need to display a notification? If so, you must use a notification area icon.
• Is the icon displayed temporarily to show a change of status? If so, a notification area icon may be appropriate, depending upon the following factors: • Is the status useful and relevant?
That is, are users likely to monitor the icon and change their behavior as a result of this information? If not, either don't display the status, or put it in a log file. Incorrect: In this example, the disk drive activity icon is inappropriate because users are unlikely to change their behavior based on it. • Is the status critical? Is immediate action required?
If so, display the information in a way that demands attention and cannot be easily ignored, such as a. Programs designed for Windows 7 can use overlay icons on the program's taskbar button to show change of status, as well as taskbar button progress bars to show progress of long-running tasks. • Does the feature already have 'desktop presence'? That is, when run, does the feature appear in a window on the desktop (possibly minimized)?
If so, display status in the program's, other status area, or, for Windows 7, directly on the taskbar button. If the feature doesn't have desktop presence, you can use an icon for program access and to show status. • Is the icon primarily to launch a program or access its features or settings quickly? If so, use the Start menu to launch programs instead.
The notification area isn't intended for quick program or command access. In this example from Windows Vista, Quick Launch is used to launch Windows Explorer and Windows Internet Explorer quickly. For programs designed for Windows 7, users can pin taskbar buttons for quick program access. Programs can use a Jump List or thumbnail toolbar to access frequently used commands directly from a program's toolbar button.
The Quick Launch area isn't displayed by default in Windows 7. In this example, a Jump List is used for quick command access.
Design concepts The Windows desktop The Windows desktop has the following program access points: • Work area. The onscreen area where users can perform their work, as well as store programs, documents, and their shortcuts. While technically the desktop includes the taskbar, in most contexts it refers just to the work area. • Start button. The access point for all programs and special Windows places (Documents, Pictures, Music, Games, Computer, Control Panel), with 'most recently used' lists for quick access to recently used programs and documents. • Quick Launch.
A direct access point for programs selected by the user. Quick Launch was removed from Windows 7. The access point for running programs that have desktop presence. While technically the taskbar spans the entire bar from the Start button to the notification area, in most contexts taskbar refers to the area in between, containing the taskbar buttons. This area is sometimes referred to as the taskband.
Not recommended. • Notification area. A short-term source for notifications and status, as well as an access point for system- and program-related features that have no presence on the desktop. The Windows desktop access points include the Start button, taskbar, and notification area.
Note the thumbnail feature of the taskbar button. The desktop is a limited, shared resource that is the user's entry point to Windows.
Leave users in control. You should use the desktop areas as intended—any other usage should be considered an abuse. For example, never view desktop areas as ways to promote your program or its. Using the notification area appropriately The notification area was originally intended as a temporary source for notifications and status.
Its efficiency and convenience has encouraged developers to give it other purposes, such as launching programs and executing commands. Unfortunately over time, these additions made the notification area too large and noisy, and confused its purpose with the other desktop access points. Windows XP addressed the scale problem by making the area collapsible and hiding the unused icons. Windows Vista addressed the noise by removing unnecessary, annoying notifications. Windows 7 has gone a step further by focusing the notification on its original purpose of being a notification source.
Most icons are hidden by default in Windows 7, but can be promoted to the notification area manually, by the user. To keep users in control of their desktops, there is no way for your program to perform this promotion automatically. Windows still displays notifications for hidden icons by promoting them temporarily. In Windows 7, most notification area icons are hidden by default. In addition, Windows 7 supports many features directly in the taskbar buttons.
Specifically, you can use: • Jump Lists and thumbnail toolbars to quickly access frequently used commands. • Overlay icons to show status for running programs. • Taskbar button progress bars to show progress for long-running tasks.
In short, if your program has desktop presence, take full advantage of the Windows 7 taskbar button features for these purposes. Keep the notification area icons focused on displaying notifications and status. Keeping users in control Keeping users in control extends beyond using the notification area correctly. Depending on the nature of your icon, you may want to let users do the following: • Remove the icon. Your icon may provide relevant, useful status, but even so, users may not want to see it. Windows allows users to hide icons, but this feature isn't easily discoverable.
To keep users in control, provide a Display icon in notification area option on the icon's context menu. Note that removing an icon doesn't have to affect the underlying program, feature, or process. • Select types of notifications to display. Your notification must be useful and relevant, but there may be notifications that users don't want to see. This is especially true for FYI. Let users choose to enable the less important ones.
• Suspend optional features. Icons are used to display status for features without desktop presence. Such features tend to be long-running, optional background tasks, such as printing, indexing, scanning, or synchronizing. Users may want to suspend such features to increase system performance, reduce power consumption, or because they are offline. • Quit the program. Provide the more suitable of these options: • Temporarily quit program. The program is stopped and restarted when Windows is restarted.
This approach is suitable for important system utilities such as security programs. • Permanently quit program. The program is stopped and not restarted when Windows is restarted (unless the user chooses to restart later). Either the user no longer wants to run the program, or wants to run the program on demand—perhaps to improve system performance. Although it's a good idea to provide most of these settings on the icon's context menu, the program's default experience should be suitable for most users. Don't turn everything on by default and expect users to turn features off.
Rather, turn the important features on by default, and let users enable additional features as desired. If you do only four things.
• Don't abuse the notification area. Use it only as a source for notifications and status, and for features without desktop presence. • Keep users in control. Provide appropriate options to control the icon, its notifications, and the underlying features. • Present a default experience that is suitable for most users.
Let users enable desired features rather than expect them to disable undesired ones. • Take full advantage of the Windows 7 taskbar button features to show status and make your program's most frequently performed tasks efficient. Usage patterns Notification area icons have several usage patterns: System status and access Displayed continuously to show important but not critical system status, and to provide access to relevant features and settings. System features that need notification area icons have no persistent desktop presence. Can also be used as a notification source.
In this example, the battery, network, and volume icons are displayed continuously when applicable. Background task status and access Displayed while a background task is running to show status and provide access to features and settings. Background processes need notification area icons when they have no desktop presence. Can also be used as a notification source. In this example, the Action Center icon allows users to check its status even when it has no desktop presence.
Temporary event status Programs with desktop presence can display icons temporarily to show important events or changes in status. In this example, icons for printing and installing updates are displayed temporarily to show important events or changes in status. Temporary notification source Displayed temporarily to show a notification.
Removed after a timeout, or when the underlying problem is addressed or task performed. Temporary icons are preferred for pure notification sources. Don't display an icon that doesn't provide useful, relevant, dynamic status just because a feature might need to display a notification in the future.
In this example, the plug-and-play icon is displayed while a new hardware detected notification is shown. Minimized single-instance application To reduce taskbar clutter, a single-instance, long-running application can be minimized to a notification area icon instead.
In this example from Windows Vista, Outlook and Windows Live Messenger are single-instance applications that minimize to notification area icons. Consider using this pattern only if all of the following apply: • The application can have only a single instance. • The application is run for an extended period of time. • The icon shows status. • The icon can be a notification source. • Doing so is optional and users must. If all these conditions apply, minimizing to an icon eliminates having two access points when only one is necessary.
Note: This icon pattern is no longer recommended for Windows 7. Use regular taskbar buttons instead if your program has desktop presence. In this example from Windows 7, a regular taskbar button takes little space, but benefits from the Windows 7 taskbar button features, including Jump Lists, overlay icons, and rich thumbnails. Guidelines General • Provide only one notification area icon per component. • Use an icon with 16x16, 20x20, and 24x24 pixel versions. The larger versions are used in high-dpi display modes.
When to show • For the temporary notification source pattern: • Windows displays the icon when the notification is displayed. • Remove the icon based on its pattern: Pattern When to remove Action success When notification is removed. Action failure When problem is resolved.
Non-critical system event When problem is resolved. Optional user task When task is done. FYI When notification is removed. • For the temporary event status pattern, display the icon while the event is happening. • For all other patterns, display the icon when the program, feature, or process is running and the icon is relevant unless the user has cleared its Display icon in notification area option (for more information, see ). Most icons are hidden by default in Windows 7, but can be promoted to the notification area by the user. • Don't display icons meant for administrators to standard users.
Record the information in the Windows event log. Where to show • Display windows launched from notification area icons near the notification area. Windows launched from notification area icons are displayed near the notification area. Icons • Choose the icon based on its design pattern: Pattern Icon type System status and access System feature icon Background task status and access Program or feature icon Temporary notification source Program or feature icon Temporary event status Program or feature icon Minimized single-instance application Program icon In this example, Outlook uses an e-mail feature icon for a temporary notification source and its application icon for the minimized application. • Choose an easily recognizable icon design. Prefer icons with unique outlines over square or rectangular shaped icons.
Keep the designs simple—prefer symbols over realistic images. Apply the other as well. • Use icon variations or overlays to indicate status or status changes. Use icon variations to show changes in quantities or strengths. For other types of status, use the following standard overlays. Use only a single overlay, and locate it bottom-right for consistency.
Overlay Status Warning Error Disabled/Disconnected Blocked/Offline In this example, the wireless and battery icons show changes in quantities or strengths. In this example, overlays are used to show error and warning states. • Avoid swaths of pure red, yellow, and green in your base icons. To avoid confusion, reserve these colors to communicate status. If your uses these colors, consider using muted tones for your base notification area icons. • For, use icons with a progressively more emphatic appearance as the situation becomes more urgent. In these examples, the appearance of the battery icon becomes more emphatic as the urgency increases.
• Don't change status too frequently. Notification area icons shouldn't appear noisy, unstable, or demand attention. The eye is sensitive to changes in the peripheral field of vision, so status changes need to be subtle. • Don't change the icon rapidly. If underlying status is changing rapidly, have the icon reflect high-level status. Incorrect: In this example, the modem icon displays blinking lights (as a hardware modem does), but those state changes aren't significant to users.
• Don't use long-running animations to show continuous activities. Such animations are a distraction. An icon's presence in the notification area sufficiently indicates continuous activity. • Brief, subtle animations are acceptable to show progress during important temporary, transitive status changes. In this example, the Wireless icon displays an activity indicator to show that work is in progress. • Don't flash the icon. Doing so is too distracting.
If an event requires immediate attention, use a dialog box instead. If the event otherwise needs attention, use a notification. • Don't disable notification area icons. If the icon doesn't currently apply, remove it. However, you can show an enabled icon with a disabled status overlay if users can enable from the icon. In this example, users can enable sound output from the icon.
For general icon guidelines and examples, see. Interaction Note: The following click events should occur on mouse up, not mouse down. Hover • Display a tooltip or infotip that indicates what the icon represents. In this example, a tooltip is used to describe the icon on hover. For infotip text guidelines, see the section of this article. Left single-click • Display whatever users most likely want to see, which may be: • A flyout window, dialog box, or program window with the most useful settings and commonly performed tasks. For presentation guidelines, see.
In these examples, left clicking displays popup windows with the most useful settings. • A status flyout. In this example, left clicking displays the status flyout. • The related control panel item. • The context menu.
Users expect left single-clicks to display something, so not displaying anything makes a notification area icon appear unresponsive. • Display a context menu only if the other choices don't apply, with the default command in bold. In this case, display the same context menu that is shown on right-click to avoid confusion.
• Prefer using a popup window over a dialog box for a more lightweight feel. Show only the most common settings and have them take immediate effect for a simpler interaction.
Dismiss the popup window if the user clicks anywhere outside the window. • Display small windows near the associated icon. However, large windows such as control panel items can be displayed in the center of the default monitor. Left double-click • Perform the default command on the context menu. Typically, this displays the primary UI associated with the icon, such as the associated control panel item, property sheet, or program window.
• If there is no default command, perform the same action as a left single-click. Right-click • Display the context menu, with the default command in bold. Context menus • Display the context menu near its associated icon, but away from the taskbar. • The context menu may include the following items, as appropriate, in the listed order (exact text is in quotes): Primary commands Open (default, list first, in bold) Run Secondary commands Suspend/resume enable/disable command (check mark) 'Minimized to notification area' (check mark) Opt in to notifications (check mark) 'Display icon in notification area' (check mark) 'Options' 'Exit' • Remove rather than disable any context menu items that don't apply. • For Open, Run, and Suspend/Resume commands, be specific about what is being opened, run, suspended, and resumed.
In this example, Windows Defender has specific Open and Run commands. • Use Suspend/Resume running background tasks, Enable/Disable for everything else. • Use check marks to indicate state. List and enable all states and place the check mark next to the current state. Don't disable options or change option labels to indicate the current state. Correct: Incorrect: In the incorrect example, Windows Defender should use a check mark to indicate the current state. • All background tasks must have a Suspend/Resume command.
Choosing the command should temporarily suspend the task. Users may want to temporarily suspend background tasks to increase system performance or reduce power consumption.
Suspended background tasks are restarted when resumed by the user or when Windows is restarted. • Allow users to opt into or out of different notification types if your program has notifications that some users might not want to see.
The notification pattern requires users to opt in, so these notifications must be disabled by default. In this example, Outlook allows users to choose the notifications they receive from the icon. • Clearing the 'Display icon in notification area' option removes the icon from the notification area, but doesn't affect the underlying program, feature, or process. Users can redisplay the icon from the program's Options dialog box. Don't automatically re-display the icon when Windows is restarted. • The Exit command quits the program for the current Windows session and removes the icon.
Don't have an Exit command if program can't be shut down. The program is restarted when Windows is restarted. Users can permanently quit the program from the Options dialog box. • Don't have an About command. Such information should be communicated by the icon, its infotip, and the context menu.
If users want more information, they can view the primary UI. • Exception: You may provide an About command if the icon is for a program that doesn't have desktop presence. For general context menu guidelines and examples, see.
Rich tooltips • Use rich tooltips only to make the information easier to understand. Don't use rich tooltips just to decorate the feature. If you can't use richness to make the information easier to understand, use a plain tooltip instead. Incorrect: Correct: In the incorrect example, the calendar icon doesn't make the date easier to understand. • Use a concise presentation. Use concise text and a concise layout with a 32x32 pixel icon. Spacious tooltips risk being distracting, especially when displayed unintentionally.
• Don't put controls or elements that appear interactive in a rich tooltip. Tooltips aren't interactive and therefore shouldn't appear interactive. Don't use blue or underlined text. Correct: Incorrect: In the incorrect example, the current power plan appears to be a link, but it is impossible to click. Notification area flyouts • When appropriate, present notification area flyouts with three sections: • Summary. Display the same information that is displayed in the icon's tooltip or infotip, possibly with more detail.
For consistency, use the same text and icons, and generally the same layout (if using a rich tooltip). Unlike the infotips, this information is accessible when using touch. • Common tasks.
Present the most commonly performed tasks directly in the flyout. • Related links.
Provide at most one of each type of the following optional links: • A link to the most frequently performed task in Control Panel. Provide if there is a frequently performed task that can't be presented in the common tasks section. • A link to the related Control Panel item. This Control Panel item should allow users to perform any tasks that can't be performed in the common tasks section.
• A link to a specific, relevant Help topic. Follow the standard. This example shows a notification area flyout using the recommended presentation. Options dialog box • Options not accessible directly from the context menu must be in the Options dialog box.
This dialog could be the feature's control panel. • The Options dialog box may include the following items as appropriate (exact text is in quotes): • Enable [feature name] (check box) • Clearing this option permanently quits the program. Program can be restarted from its control panel item. The Exit command in the context menu quits the program only for the current Windows session.
• 'Display icon in notification area' (check box) • Removing the icon from the notification area doesn't affect the underlying feature. • Selecting this option allows user to restore the icon, which of course can't be done from the icon itself.
• Disable features that are rarely used, or potentially annoying or distracting. Let users to such features. For general Options dialog box guidelines and examples, see. Minimizing programs to the notification area Note: Minimizing program windows to the notification area is no longer recommended for Windows 7.
Use regular buttons instead. Your program may support both mechanisms for backward compatibility. • To reduce taskbar clutter, consider providing the ability to minimize programs to the notification area only if all of the following apply: • The program can have only a single instance.
• The program is run for an extended period of time. • The icon shows status.
• The icon can be a notification source. • Doing so is optional and users must. • Use the Minimize button on the application's title bar, not the Close button. Text Infotips • The icon infotip should have one of the following formats (where the company name is optional): • (Company name) Feature, program, or device name • • (Company name) Feature, program, or device name - Status summary • • (Company name) Feature, program, or device name status statement.
• • (Company name) Feature, program, or device name • Status list with each item on a separate line • Infotip phrasing: • Focus on the most useful information. Display other information on left single-click. • Be concise. Use sentence fragments or simple statements.
• Don't use ending punctuation unless tip is phrased as a complete sentence. • Omit unnecessary words. Don't include the software version or other extraneous information. Incorrect: In this example, the infotip has extraneous information.
• Don't explain how to interact with the icon. Incorrect: In this example, the Wireless Network Connection icon gives right-click instructions. Documentation When referring to the notification area: • Refer to the notification area as the notification area, not the system tray. When referring to a notification area icon: • Refer to the icon using the exact name given in its infotip, including its capitalization, followed by icon.
• For the first reference, also refer to the notification area. • When possible, format the heading text using bold. Otherwise, put the heading in quotation marks only if required to prevent confusion. Example: To check the network status quickly, click the Network icon in the notification area.