In computer science, a window is a (mostly rectangular) component of a window system . For non-experts, it is usually understood to mean that element that can be changed by the user himself in terms of its size and placement on the screen and, to a certain extent, in its visual design. Programs can be opened and operated in such windows, and data files can be created and modified. Those skilled in the art also refer to other elements as windows.
The window metaphor
In the desk metaphor of the graphical user interface (GUI), which has been used for many years and which implements the intuitive habits of paperwork, the window represents the individual sheet of paper on the "underlying" desktop ('desk, work surface'), so windows should move and arrange themselves , stacking, sorting, placing on top or pushing aside completely, while remaining clearly arranged. Windows generally “float” over the screen background (desktop) and can overlap or completely cover each other, as well as either enlarge to full screen ( maximize □ ), put away completely ( minimize _ ) and retrieve ( restore ) again.
The original English name Window is often used instead of the word window . This goes back to the WIMP paradigm (Window, Icon , Menu , Pointer ) developed in the Xerox PARC in the early 1970s for the construction of user interfaces as a desktop environment that was supposed to replace the old text-oriented user interfaces .
The expression window itself is a metaphorical expression based on the structural element window . It is intended to express that its function goes far beyond that of a sheet of paper and is a surface for interacting with a program . The actual window is more precise: the window frame, which opens a view of the actual work surface of the program on its window area (the "content") and provides space for control elements and information on the frame, both cross-system and application-specific.
The display technology with windows (together with other elements of the graphical user interface) was used in Apple devices , namely the Apple Lisa , even before Microsoft's introduction of the Windows operating systems (originally with Windows 1.0 a graphic attachment for PC-compatible DOS towards the end of November 1985) used from 1983. From 1985 it was also available on Atari computers such as the Atari ST home computers and with Workbench 1.0 on the Amiga 1000 .
The window metaphor was so successful that the text-based interfaces, even if they are still used today, especially in the Unix / Linux world for system work ( console / terminal ) , very quickly became completely antiquated. Most text-controlled programs have been supplemented with a window-compatible graphical user interface, including the console / terminal themselves, which are called up in windows. The window metaphor then became so dominant that web design also followed this scheme for several decades - control elements on the frame and the actual content in the window ( frame technology), and here, too, purely textual websites were quickly considered to be antiquated. This was made possible by scripting languages for web applications.
With smartphones and tablets, the window metaphor will increasingly be replaced by a completely new interface concept from the mid-2010s, which due to its small size is based on permanent full-screen operation, where the applications are pushed out of focus by swiping movements made possible by the touchscreens . The concept of the window and the desktop beneath it no longer plays a figurative role here.
The window manager integrates the user interfaces (interfaces) of individual programs into the windows, and these into the overall interface of the operating system . Usually there are additional options to enlarge and reduce windows ("drag", on the upper ⇕or side ⇔edge or over the corner), and to focus for keyboard entries ( active window , the inactive windows are grayed out a bit), or their order change ( Z-order , area-wide side by side - tiling , and the like).
In some areas (especially with Windows programming interfaces ) all elements of the graphical user interface are viewed as windows, including small buttons and setting areas, text fields, etc. The dialog windows or dialog boxes also form one form of this . Usually, however, only the "largest" of these elements, which can also be freely placed by the user , are referred to as windows . The technical term for these “correct” windows is dialog , frame or top level window (“window of the highest [technological] level”, namely the application software , not the operating system interface) depending on the programming interface. In addition, the technology of pop-up windows for short-term notifications and important errands was developed.
Since the introduction of simplified methods for the use and efficient display of partially transparent image content, windows with non-rectangular, free outlines have also been used in some software products. These are usually also based on a rectangular shape, which can, however, contain transparent edge zones and recesses. By using alpha blending , windows can also be made more or less translucent so that the content behind them remains visible.
Window elements and handling
A window consists of an inner, rectangular area, the display of which is done by the respective program, and surrounding decorations that are displayed by the window manager. The latter include in particular the window border and the title bar at the top, which in addition to the title generally also contains buttons .
The buttons on the title bar differ in function and appearance depending on the system or can be configured to a certain extent on a case-by-case basis, but at least the following functions are common:
- Close the window or exit the associated application program
- Maximizing the window so that it fills the entire desktop or restoring the original size of a maximized window. Instead, macOS provides a zoom function that changes the size of the window to a standard size specified by the user.
- Minimizing the window. The window is thus hidden and only represented by an icon on the desktop or an entry in the task bar. The expression minimize is actually wrong here, since the window is not - as the word suggests - minimized, i.e. brought to the smallest possible size, but completely hidden.
- Below the title bar there is usually a menu bar with functions specific to the open program, menu .
- At the bottom of the window there is a status bar , depending on the type or selected view mode of the window , which either contains certain information about the open element (program, file, ...) or buttons for certain functions.
- If the entire contents of the window is not displayed on the screen, typically at the right and / or bottom of the window a is scroll bar (and scrollbars called) visible, which enables, by scrolling to drive the non-visible parts of a window.
The program typically displays control elements (menus and buttons) within a window.
If several windows are open at the same time, the user can usually switch between the individual windows by selecting them with the mouse or using certain key combinations. In the common Windows and Apple operating systems, it is a combination
- Alt+ Tabfor switching between running programs (forward)
- Alt+ Umschalt+ Tabfor switching between running programs (backwards)
With many computer games and media players this is not possible if the programs concerned are running in full screen mode.
If several windows are open, only one can receive the commands entered using the keyboard. This is known as the " active window "; it can usually be recognized by the fact that its title bar - unless the user chooses a different setting himself - appears in one color, while it is gray in the case of inactive windows.
In order to increase the clarity, the elements of the windows can be configured in many ways in terms of sizes and colors; these are usually integrated into a uniform scheme (design), the skin . The window decoration can either be produced by the window manager or by the client ( e.g. X11 or Wayland ). The content of the window is always the domain of the client.
The window behavior can also be controlled in many ways, for example how and where new windows open or how they react to the focus of the mouse pointer (activation by double-clicking , single-clicking, hovering ).