Common Desktop Environment: Style Guide and Certification Checklist

Window Management

Window Support

This section corresponds to section 7.2 of the OSF/Motif Style Guide, Revision 1.2. The different window types are discussed throughout the OSF/Motif Style Guide, Revision 1.2 and this book. In particular, see Chapter 6, Application Design Principles.

 

n/a 

 

 

 

Required 

aa: 

Application windows should be clearly distinguishable as primary or secondary windows based on appearance and behavior. 

Primary Window: 

Secondary Window: 

Window Decorations

 

n/a 

 

 

 

Required 

ab: 

Windows that support particular window management functionality must request the corresponding window decoration (for example, a window that can be minimized should request the minimize button). 

Required 

ac: 

Windows that support any window management functionality (move, resize, minimize, maximize, close, and others) must have a window menu with items for that functionality. 

Required 

ad: 

Follow Common Desktop Environment window decoration conventions, as shown in Table 10-1.

.

Table 10-1 Common Desktop Environment Window Decoration Conventions

 

Border 

Title 

Menu 

Min 

Max 

Resize 

Primary Window: 

Default 

Front Panel 

 

Yes 

Yes [The Front Panel has custom visuals for the window decorations.]

 

Yes 

No 

 

Yes 

Yes2

 

Yes 

Yes 

 

Yes [Decorations for resize and maximize should be provided for primary windows if appropriate.]

No 

 

Yes1

No 

Secondary Window: 

Default 

Front Panel 

 

Yes 

No 

 

Yes 

Yes 

 

Yes 

Yes 

 

No 

No 

 

No [Secondary windows should be designed such that resizing and maximization are not necessary or appropriate. If a secondary window must be resizable and maximizable, the associated decorations should be displayed.]

No 

 

No3

No 

 

n/a 

 

 

 

Required 

ae: 

Follow Common Desktop Environment window menu conventions. Items should appear in the window menu if they are applicable to the window or its minimized window icon. 

  • Restore (R)

  • Move (M)

  • Size (S)

  • Minimize (n)

  • Maximize (x)

  • Lower (L)

  • Occupy Workspace ... (O)

  • Occupy All Workspaces (A)

  • Unoccupy Workspace (U)

  • Close (C) Alt+F4

Optional 

af: 

Applications should not add items to the window menu. If an extraordinary requirement has an application add items to the window menu, the items should be appended to the end of the menu with a separator between Close and the application items. 

Optional 

ag: 

Accelerators, aside from Alt+F4 for Close, should not be used in the window menu (to minimize conflict with other uses of the Alt key for application accelerators, localization, and others). 

Window Navigation

This section corresponds to section 7. 4 of OSF/Motif Style Guide, Revision 1.2. There are no checklist items for application developers.

Icons

 

n/a 

 

 

 

Optional 

ah: 

Applications should provide unique window icons for their primary windows. The window icon image should have a similar appearance to the associated file or Front Panel icon image. 

Optional 

ai: 

The window icon label should contain the same text as the title of the corresponding primary window, or an abbreviated form of it. Refer to "Layout" for window title guidelines.

Optional 

aj: 

The window icon image should have a similar appearance to the associated file or Front Panel icon image. Refer to "Design Philosophy and Helpful Hints".

Application Window Management

Window Placement

 

n/a 

 

 

 

Recommend 

ak: 

Applications should not require or force windows or window icons to be positioned at a particular screen location. 

Recommend 

al: 

A secondary window is placed by the application relative to the associated primary window. It should be placed close to, but not obscuring, the component that caused it to be displayed and the information that is necessary to interact with the dialog box. 

Some suggestions are given in section 6.2.4.3, "Determining Dialog Box Location and Size," of the OSF/Motif Style Guide, Revision 1.2. Additional or modified recommendations include: 

Optional 

am: 

If a dialog box does not relate to specific items in the underlying window, it should be placed below the menu bar (if there is one) and centered (horizontally) over the work area. 

Recommend 

an: 

If a secondary window is allowed to be stacked below its associated primary window (not constrained to stay on top of the primary window), it should be placed such that it is not completely covered by the primary window. This recommendation takes precedence over other placement recommendations. 

Recommend 

ao: 

If a menu or dialog box is already on display, reinvoking the command that caused it to be displayed automatically brings that window or menu to the front of the window stack without changing its position on the screen. 

Window (Document) Clustering

 

n/a 

 

 

 

Optional 

ap: 

Windows that are closely related in supporting a particular task should be placed in a window cluster. Secondary windows are automatically placed in a window cluster with the associated primary window. Windows in a window cluster are stacked together, minimized or normalized together, and kept in the same workspace. 


Note -

Currently the only mechanism for forming a window cluster that is supported by the Window Manager is to indicate a primary-secondary relationship.


Window Management Actions

 

n/a 

 

 

 

Required 

aq: 

Windows should follow Common Desktop Environment window management functionality conventions, as shown in Table 10-2

.

Table 10-2 Common Desktop Environment Window Management Conventions

 

Close 

Move 

Lower 

Min 

Max 

Resize 

Primary Window: 

Default 

Front Panel 

 

Yes 

No 

 

Yes 

Yes 

 

Yes 

Yes 

 

Yes 

Yes 

 

Yes [Resize and maximize functionality should be provided for primary windows if appropriate.]

No 

 

Yes1

No 

Secondary Window: 

Default 

Subpanel 

 

Yes 

Yes 

 

Yes 

Yes 

 

Yes 

Yes 

 

No 

No 

 

No [Secondary windows can contain the Maximum and Resize window manager functions, if appropriate. ]

No 

 

No2

No 

 

n/a 

 

 

 

Required 

ar: 

Windows that support particular window management functionality should request corresponding window decoration (for example, a window that can be minimized should request the minimize button). 

Required 

as: 

Windows that have form factor constraints need to set Window Manager hints for minimum size, maximum size, aspect ratio, and resize increment as appropriate. 

Recommended 

at: 

Maximizing a window should show more content (objects or controls) if appropriate (as opposed to scaling up the sizes of objects and controls). 

Required 

au: 

Windows that have Close or Exit functionality need to support the window management protocol for Close if there is a window menu. In the case of dialog boxes, the Close item on the window menu corresponds to the Cancel functionality or dialog box dismissal with no further action taken. 

Recommended 

av: 

When your application creates a new window, it should come up in the user's current workspace and only occupy that single workspace. 

Recommended 

aw: 

Application windows that are related to a particular task should move together between workspaces. 

Session Management Support

 

n/a 

 

 

 

Required 

ax: 

Applications should support Interclient Communications Conventions Manual (ICCCM) mechanisms for session management of their primary windows and key properties.

Required 

ay: 

Applications should support ICCCM mechanisms for session management of all associated windows (that is, secondary windows that may include help windows). 

Optional 

az: 

Applications should accept messages from the Common Desktop Environment Session Manager that inform them the user is logging out and should save their state at that time. 

Optional 

ba: 

Applications that have a single primary window that is open at the time the user logs out should restore the primary window, in the workspace last occupied, when the user logs in again. 

Optional 

bb: 

Save user context wherever possible. For example, applications that support the editing of files should save the state of the file at logout and should restore the file in the application window when users log in again. 

Optional 

bc: 

Applications that have multiple primary windows that are open at the time the user logs out should restore all primary windows, in their respective workspaces, when the user logs in again.