Jump to content

Window (computing)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Azrael Nightwalker (talk | contribs) at 00:10, 11 January 2008 (→‎See also: wimp added). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

An example of a graphical user interface in GNU/Linux, with two application windows displayed, one partly overlapping the other

In computing, a window is a visual area, usually rectangular in shape, containing some kind of user interface, displaying the output of and allowing input for one of a number of simultaneously running computer processes. Windows are primarily associated with graphical displays, where they can be manipulated with a pointer. A graphical user interface (GUI) that uses windows as one of its main metaphors is called a windowing system.

The idea was initially developed by researchers at the Stanford Research Institute, led by Douglas Engelbart. Their systems used non-overlapping or tiled windows. This was further developed as a part of the WIMP paradigm at Xerox Corporation's Palo Alto Research Center, PARC, led by Alan Kay. Their systems used overlapping windows. Overlapping systems have become far more common than non-overlapping systems. Steve Jobs, cofounder of Apple, Inc., visited PARC and, seeing the potential of the GUI, worked with Xerox briefly on a version of the interface, eventually developing it independently for Apple's Lisa and later Macintosh computer lines, the first to successfully bring such GUI's to market. Bill Gates, founder of Microsoft, was an early supporter of such interfaces and initially concentrated on developing windows-based applications for the Mac, offering to partner with Jobs, before developing Microsoft's own similar system, which dominates the personal computer market today.

Windows are almost always depicted as two-dimensional objects (like papers or books) arranged on a desktop. Most windows can be resized, moved, hidden, restored, and closed at will. When two overlap, one is on top of the other, with the covered part of the lower window not visible. However, many programs with text user interfaces, for example Emacs, allow their display to be divided into areas which may also be referred to as "windows". The part of a windowing system which manages these operations is called a window manager.

Windows are a feature (or widget) in most graphical user interfaces (especially WIMP ones). DEC Windows (for VMS), X Window System (for GNU & Unix-like systems), Microsoft Windows and IBM's Open Windows are named after this feature.

Many applications in which it is possible to work with more than one file at a time, such as an image-editing program, will put each file in a separate window and will allow the windows to be tiled, so that all of them are visible. There is usually a distinction between the main application window and its child windows, so sometimes a big application like this will force windows to minimize to a location at the bottom of the main window, instead of the operating system's window docking area.

Mac OS X

In Mac OS X, windows are minimized to the right side of the Dock, using either a 'Genie' effect, or a scaling effect. The Exposé feature allows all windows relating to one application to be tiled, or for every window to be tiled across the screen so that it is possible to see them all at once. Maximizing windows variably causes them to take up the full screen, or just to be maximized vertically. Pressing the close button will make the window disappear, but it will not always quit the application. It will usually quit the application if it is a utility or a program that does not generate child windows (for example, iPhoto quits when you press the close button; Safari does not, because it can generate more than one window). There are no borders around the edges of the window (just a drop shadow), so arbitrary resizing can only be performed from the bottom-right corner of each window. Windows can be moved from any part of the interface of that application - not just the title bar. Mac OS X uses a windowing system called Quartz Compositor.

Microsoft Windows

Typical window parts for a "maximized" window: Title bar, status bar, main menu, rulers and scroll bars, and the main document area; task bar outside the window proper. (Windows)

In Microsoft Windows, minimized windows disappear from the screen and can be restored by clicking their taskbar button. In Windows XP and later, if two or more windows from the same application are present, Windows will place them adjacent to one another. When it starts to run low on taskbar space, it will (by default) group them into one button which presents a pop-up menu.

Maximizing windows causes them to take up the whole screen space, except the area taken by the taskbar. Windows are closed by clicking the "X" button at top-right, resized by dragging their border, and moved by dragging their title bar.

Note that in Windows Vista, the windows are partly represented with 3D computer graphics via the Aero interface. The windows remain flat, but are viewed liked sheets of paper in a virtual three-dimensional space.

Other window managers

Unix and Linux based systems do not have a single standard window manager. In most window managers for X11, the appearance and behavior of windows can be precisely specified in preferences or configuration files.

Window properties

Depending on the window manager being used, windows have a wide range of properties that can often be manipulated by the user:

  • Their size.
  • Maximized state in the horizontal or vertical axes, or both.
  • Minimized state (which usually toggles their visibility and stores a link to them in a taskbar, dock or icon box.
  • Stickiness. If the window manager supports virtual desktops, this makes the window 'stick' to every desktop.
  • Shaded state, which 'rolls up' the main part of the window and just keeps the title bar.
  • The visibility of the toolbars that the window may have.
  • Transparency (if supported).
  • Always-on-top state, which stops the window from being obscured, even in part, by any others.
  • Border - presence and appearance.
  • Appearance of the title-bar.

It is usually possible to move windows in X11 by holding a modifier key (such as Alt) and dragging any part of the window, as well as using the title-bar. Many window managers also provide features for grouping windows so that they all act as one, and 3D window managers, such as Metisse and Project Looking Glass also allow the three-dimensional properties of a window to be changed (such as their rotation in the Y or Z axes).

Types of windows

Window managers often offer more than one type of window, based on their properties.

  • Application/Document windows - the normal type of window that contain documents or the application's data
  • Palette windows, which float on top of all other application windows and offer tools or information for the application. Also known as "Utility windows".
  • Dialog boxes - windows outside of the normal workflow that display information or asks for information from the user
  • Inspectors - windows that are 'always on top' of other windows in the same application. They are used to show the properties of an item contextually; that is, their contents changes when a new item, in another window, has been selected - for example, showing the properties of the currently selected file, without needing to close and re-open the window.
  • Special cases, such as dashboard windows.

Focus

The window manager needs to know which window the user wishes to use. For example, if two windows allow text input, then the user must tell the computer into which window he/she wishes the keyboard input to go. This is called giving a window focus. It is sometimes necessary to click a window in order to use it, but some window managers offer 'focus follows pointer', so that moving the mouse over a different window activates it for use. Widgets within the window may require a further click to focus them, to differentiate the different places input may go.

See also