Windows
Windows
This section provides information about window placement and behavior. It
also presents general guidelines about windows and related dialog boxes and
alert boxes.
Window Positions
To determine where to place a window, consider what kind of window your
application is opening, what other windows are open and where, and the
relationship between the content of a window and other windows or dialog
boxes. Respect the user's control of the window and maintain the user's
preferred size, state, and location for the window.
When your application opens a new document window, center it on the
desktop. Open each additional window below and to the right of its predecessor.
Before closing a window, check to see if the user has changed its size, state, or
position. Save window positions, then reopen windows in the size, state, and
location in which the user left them.
Before reopening a window, check to make sure that the size and state are
reasonable for the user's current monitor or monitors, which may not be the
same as the monitor on which the document was last open. For example, if a
user is working on a word-processing document on a full-page display and then
takes the document home and uses another computer to finish working, the
second computer may have a 13-inch monitor. Then your application should
open the document in a window sized appropriately for the smaller monitor and
not necessarily in the saved size.
If the user has not changed a window's position, place windows in a position
appropriate to the monitor type. If a user opens, moves, and closes a document
window without making any changes, save the new window position but do not
modify the date stamp.
When you open several windows on multiple screens, place the windows on
the screen where the user is working. If a user drags a window from a
Macintosh II monitor to a portrait display monitor, open subsequent windows on
the portrait display monitor. The default position of a window must always be
contained on a single screen.
Open dialog boxes and alert boxes on the screen where the user is working.
For example, if a user has two monitors with a text document on the second
monitor, open a find-and-replace dialog box on the screen where the related
text document appears, not necessarily on the monitor where the menu bar is.
The Zoom Box and Window Behavior
A click in the zoom box toggles a window between two states, the user state and
the standard state. The user state, as its name implies, is set by the user. In
Human Interface Guidelines: The Apple Desktop Interface, a window's standard
state definition is described as generally the full screen, or close to it, with
the size and location that are best suited to working on the document.
But Macintosh monitors now come in all shapes, sizes, and configurations, so
applications should never simply assume that the standard state should be as
large as the screen. Frequently the monitor is larger, sometimes much larger,
than the most useful size for a window. Screen real estate is valuable, so use
screen-sized windows only when they make sense.
For example, a document for a word processor has a well- defined most-useful
width (the width of a page) and a variable most-useful height (depending on the
number of pages). Therefore the width of the standard state should be the width
of a page or the width of the screen, whichever is smaller, and the height of the
standard state should be the height of the document or the height of the screen,
whichever is smaller.
When a user clicks the zoom box to change a window from the user state to the
standard state, first determine the appropriate size of the standard state. If
this size would fit completely on the screen without moving the upper-left
corner of the window, keep this corner anchored. Otherwise, move the window
to an appropriate default location.
Zooming behavior in multiscreen environments should not violate any of the
guidelines described in this section, but it does introduce a single additional
rule. The standard state should be on the monitor containing the largest portion
of the window, not necessarily on the monitor with the menu bar. This means
the standard state for a single window may be on different monitors at
different times if the user moves the window around. In any case, the standard
state for any window must always be fully contained on a single screen.