Parts of Windows and System Interaction
- 3.1.1. Titles
- 3.1.2. Borders and Window Commands
- 3.1.3. Modality
- 3.1.4. Focus
- 3.1.5. Showing and Hiding Windows
3.1.1. Titles
Give every window a title (with the exception of alerts and toolboxes). A good window title contains information that is relevant to the user, and distinguishes a particular window from other open windows. Omit information that does not assist in this selection, for example the application's version number or vendor name.

See the description of each particular window type for title formats.
3.1.2. Borders and Window Commands
Most windows have borders, except certain shaped windows and some torn-off windows. Do not attempt to draw your own window borders, but instead provide hints to the window manager for the desired border type.
Different window commands are appropriate to different types of window. See the description of each particular window type for a list of appropriate window commands. These are the possible window commands:
-
Close
Closes the window. Always draw this as a button on the window border when relevant to the window type.
-
Maximize
Causes the window to use all unused screen space.
-
Minimize
Causes the window to be temporarily hidden. It will continue to appear on the desktop window list.
-
Roll-up/Unroll
Shows only the title bar of the window, as if it has been "rolled up".
3.1.3. Modality
A non-modal window does not restrict the user's interaction with other open windows on the desktop in any way. Using non-modal windows gives the user maximum flexibility to perform tasks within your application in any order and by whichever means they choose.
An application modal window, while it is open, prevents the user from interacting with other windows in the same application.
A system modal window, while it is open, prevents the user from interacting with any other window in any application, including the desktop itself.
- Use an application modal window only if allowing interaction with other parts of the application while the window is open could cause data loss or some other serious problem. Provide a clear way of leaving the modal window, such as a button in an alert.
- Do not use system modal windows.
3.1.4. Focus
Focus is the means by which the user designates which window should receive data from the keyboard, mouse or other input device. If using a screen reader or similar assistive technology, focus may also designate the window that the user wants to receive information about. The focused window is considered the window the user is currently "working with".
Ensure your application functions properly with the three different mechanisms by which windows can receive focus in GNOME:
-
Click-to-focus
A window is focused by clicking in it.
-
Point-to-focus
A window is focused by moving the mouse pointer into it. Sometimes known as "sloppy focus".
-
Keyboard focus
A window is focused by using a keyboard shortcut such as Alt+Tab.
Note that point-to-focus places a number of restrictions on GNOME applications that are not present in environments such as MacOS or Windows. For example, utility windows shared between multiple document windows, like the toolbox in the GIMP Image Editor, cannot be context-sensitive— that is, they cannot initiate an action such as
on the current document. This is because while moving the mouse from the current document to the utility window, the user could inadvertantly pass the pointer over a different document window, thus changing the focus and possibly saving the wrong document.3.1.5. Showing and Hiding Windows
How your application shows and hides windows can greatly affect the user's perception of your application, particularly its performance.
- Always show a window as soon as possible, but make sure your window is the correct size before displaying it. Resizing a window after it is visible is disorienting and gives an unpolished look to your application.
- If a window contains information that takes a few seconds to compute or display, it is often better not to fill it in completely before displaying the window. For example, a window containing a large text area can be shown quickly, and then the text can be filled in afterwards (provided this does not result in the window resizing). This will make your application feel more responsive than if you had not shown the window until its content was complete.
- Hide a window as soon as possible after it is closed. Unless an alert might be shown, immediately hide a window that the user has closed by clicking the Close button in the window border-- your application can still perform any internal clean-up operations afterwards. Besides making the system appear slow, not doing this can cause the window manager to think the application is not responding, and display an unnecessary alert to the user.