Utility Windows

This is work in progress content for the next version of the GNOME HIG.

Status: work in progress

Tags: window, tools, toolbox, settings, preferences, properties


A window that is subordinate to an application's primary window(s). Utility windows are raised above a primary window and do not have a close button in their titlebar. They are automatically closed if the application's primary window(s) is closed.

When to use

Utility windows are used for Preferences Windows or Properties Windows. They should be avoided in favour of other approaches.


  • Do not attempt to validate or apply changes caused by editing a text field control until the user has moved focus to a different control in the window, or the window is closed. Validating after each keypress is usually annoying and unnecessary. Exception: if the field accepts only a fixed number of characters, such as a hexadecimal color code, validate and apply the change as soon as that number of characters have been entered.
  • When the user moves focus to a different control, do not indicate an invalid entry by displaying an alert or undoing the change the user made. Both of these methods are particularly disruptive for focus-follows-mouse users, for whom focus may leave the control more often than it does for a click-to-focus user.

Instant Apply and Explicit Apply

  • Where possible, make your utility window immediately update the values or settings that it contains to reflect the changes made in the window. This is called 'instant apply'. The alternative to instant apply is 'explicit apply'.
  • Instant apply utility windows conclude with the following buttons:
    • Cancel

    • OK

  • Explicit apply utility windows conclude with the following buttons:
    • Apply - Applies all the settings in the window, but does not close the window in case the user wishes to change their mind.

    • Cancel - Resets all settings in the window to those that were in force when the window was opened. Note: this must undo the effects of all applications of the Apply since the window was opened, not just the most recent one.

    • OK - Applies all settings in the window, and closes the window.

  • Use explicit apply rather than instant apply if:
    • changes will take more than about one second to apply, in which case applying the change immediately could make the system feel slow or unresponsive, or
    • the changes in the window have to be applied simultaneously to prevent the system entering a potentially unstable state. For example, the hostname and proxy fields in a network properties window.
  • If either these conditions affect only a few of the controls in your window, arrange those controls together into one or more groups, each with its own Apply button. Leave the rest of the controls as instant apply.

Design/HIG/UtilityWindows (last edited 2012-01-10 14:41:55 by AllanDay)