In computing, awindow is agraphical control element. It consists of a visual area containing some of thegraphical user interface of the program it belongs to and is framed by awindow decoration. It usually has a rectangular shape[1] that can overlap with the area of other windows. It displays theoutput of and may allowinput to one or moreprocesses.
Windows are primarily associated with graphical displays, where they can be manipulated with apointer by employing some kind ofpointing device. Text-only displays can also support windowing, as a way to maintain multiple independent display areas, such as multiple buffers inEmacs. Text windows are usually controlled by keyboard, though some also respond to the mouse.
A graphical user interface (GUI) using windows as one of its main "metaphors" is called awindowing system, whose main components are thedisplay server and thewindow manager.
The idea was developed at theStanford Research Institute (led byDouglas Engelbart).[2] Their earliest systems supported multiple windows, but there was no obvious way to indicate boundaries between them (such as window borders,title bars, etc.).[3]
Research continued atXerox Corporation'sPalo Alto Research Center /PARC (led byAlan Kay). They used overlapping windows.[4]
During the 1980s the term "WIMP", which stands for window, icon, menu, pointer, was coined at PARC.[citation needed]
Apple had worked with PARC briefly at that time. Apple developed an interface based on PARC's interface. It was first used onApple's Lisa and laterMacintosh computers.[5]Microsoft was developing Office applications for the Mac at that time. Some speculate that this gave them access to Apple's OS before it was released and thus influenced the design of the windowing system in what would eventually be calledMicrosoft Windows.[6]
Windows are two dimensional objects arranged on a plane called thedesktop metaphor. In a modern full-featured windowing system they can be resized, moved, hidden, restored or closed.
Windows usually include other graphical objects, possibly including a menu-bar, toolbars, controls, icons and often a working area. In the working area, the document, image, folder contents or other main object is displayed. Around the working area, within the bounding window, there may be other smaller window areas, sometimes called panes or panels, showing relevant information or options. The working area of asingle document interface holds only one main object. "Child windows" inmultiple document interfaces, andtabs for example in many web browsers, can make several similar documents or main objects available within a single main application window. Some windows inmacOS have a feature called a drawer, which is a pane that slides out the side of the window and to show extra options.
Applications that can run either under agraphical user interface or in atext user interface may use different terminology.GNU Emacs uses the term "window" to refer to an area within its display while a traditional window, such as controlled by anX11 window manager, is called a "frame".
Any window can be split into the window decoration and the window's content, although some systems purposely eschew window decoration as a form ofminimalism.
Thewindow decoration is a part of a window in mostwindowing systems.
Window decoration typically consists of atitle bar, usually along the top of each window and a minimal border around the other three sides.[7] On Microsoft Windows this is called "non-client area".[8]
In the predominant layout for modern window decorations, the top bar contains the title of that window and buttons which perform windowing-related actions such as:
The border exists primarily to allow the user to resize the window, but also to create a visual separation between the window's contents and the rest of thedesktop environment.
Window decorations are considered important for the design of thelook and feel of anoperating system and some systems allow for customization of the colors, styles and animation effects used.
Window border is a window decoration component provided by some window managers, that appears around theactive window. Some window managers may also display a border aroundbackground windows. Typically window borders enable the window to be resized or moved by dragging the border. Some window managers provide useless borders which are purely for decorative purposes and offer no window motion facility. These window managers do not allow windows to be resized by using a drag action on the border.
Thetitle bar is agraphical control element and part of the window decoration provided by some window managers. As a convention, it is located at the top of the window as a horizontal bar. The title bar is typically used to display the name of the application or the name of the open document, and may provide title bar buttons for minimizing, maximizing, closing or rolling up of application windows. These functions are typically placed in the top-right of the screen to allow fast and inaccurate inputs throughbarrier pointing. Typically title bars can be used to provide window motion enabling the window to be moved around the screen bygrabbing the title bar anddragging it. Some window managers[which?] provide title bars which are purely for decorative purposes and offer no window motion facility. These window managers do not allow windows to be moved around the screen by using a drag action on the title bar.
Default title-bar text often incorporates the name of the application and/or of its developer. The name of thehost running the application also appears frequently. Various methods (menu-selections,escape sequences, setup parameters,command-line options – depending on the computing environment) may exist to give theend-user some control of title-bar text. Document-oriented applications like atext editor may display thefilename orpath of the document being edited. Mostweb browsers willrender the contents of theHTML elementtitle
in their title bar, sometimes pre- or postfixed by the application name.Google Chrome and some versions ofMozilla Firefox place theirtabs in the title bar. This makes it unnecessary to use the main window for the tabs, but usually results in the title becoming truncated. An asterisk at its beginning may be used to signify unsaved changes.
The title bar often containswidgets for system commands relating to the window, such as amaximize,minimize,rollup andclose buttons; and may include other content such as an application icon, aclock, etc.
Some window managers provide title bar buttons which provide the facility to minimize, maximize, roll-up or close application windows. Some window managers may display the title bar buttons in the task bar or task panel, rather than in the title bars.
The following buttons may appear in the title bar:
Note that acontext menu may be available from some title bar buttons or by right-clicking.
Some window managers display a small icon in the title bar that may vary according to the application on which it appears. The title bar icon may behave like a menu button, or may provide a context menu facility. macOS applications commonly have a proxyicon next to the window title that functions the same as the document's icon in the file manager.
Some window managers display an icon or symbol to indicate that the contents of the window have not been saved or confirmed in some way: macOS displays a dot in the center of its close button;RISC OS appends anasterisk to the title.
Sometiling window managers provide title bars which are purely for informative purposes and offer no controls or menus. These window managers do not allow windows to be moved around the screen by using adrag action on the title bar and may also serve the purpose of astatus line from stacking window managers.
OS | Icon | Send to Back | Close | Maximize | Menu bar | Minimize | Pin (Keep on top) | Resize | Roll-up (Window shade) | Status | Context menu | Notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Unix-like withX11 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Many X window managers for Unix-like systems allow customization of the type and placement of buttons shown in the title bar. |
macOS | Yes | Yes | Yes | Yes | Yes | Yes | Buttons are on the left side of the title bar. Icon is a proxy for the document's filesystem representation. | |||||
RISC OS | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
Windows | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Icon is menu of window actions |
Xerox PARC debuts the first GUI, which uses icons, pop-up menus, and overlapping windows that can be controlled easily using a point-and-click technique.