Windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens.[1] It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for a user interface.
Each currently running application is assigned a usually resizable and usually rectangular shaped surface of the display to present its graphical user interface to the user; these windows may overlap each other, as opposed to a tiling interface where they are not allowed to overlap. Usually a window decoration is drawn around each window. The programming of both the window decoration and of available widgets inside of the window, which are graphical elements for direct user interaction, such as sliders, buttons, etc., is eased and simplified through the use of widget toolkits.
Contents
1 Technical details
2 List of windowing systems
2.1 For Unix-like operating systems
2.2 For Windows NT-family operating systems
2.3 Web windowing systems
2.4 Other
3 See also
4 References
Technical details
The main component of any windowing system is usually called the display server, although alternative denominations such as window server or compositor are also in use. Any application that runs and presents its GUI in a window, is a client of the display server. The display server and its clients communicate with each other over a communications protocol, which is usually called display server protocol, the display server being the mediator between the clients and the user. It receives all the input from the kernel, that the kernel receives from all attached input devices, such as keyboard, pointing devices, or touchscreen and transmits it to the correct client. The display server is also responsible for the output of the clients to the computer monitor. The output of sound is usually not managed by the display server, but the sound volume is usually handled through GUI applets and it is the display server who decides which applications are on top. A windowing system enables the computer user to work with several programs at the same time. Each program presents its GUI in its own window, which is generally a rectangular area of the screen.[citation needed]
From a programmer's point of view, a windowing system implements graphical primitives. For example: rendering fonts or drawing a line on the screen. It provides an abstraction of the graphics hardware for use by higher-level elements of the graphical interface such as a window manager.[citation needed]
A display server protocol can be network capable or even network transparent, facilitating the implementation of thin clients.[citation needed]
List of windowing systems
For Unix-like operating systems
8½ and rio for Plan 9
- FramebufferUI (fbui) in-kernel windowing system
- HP Windows
ManaGeR (MGR)- Metisse
- Mir
NeWS / OpenWindows
- NeXT DPS
- Qt Extended
Quartz Compositor (Mac OS X)- SunView
Twin (Text WINdows)- W Window System
- Wayland
- X Window System
- XFast
- Xynth
For Windows NT-family operating systems
Desktop Window Manager (DWM) in Microsoft Windows (Vista and later)- ReactOS Explorer
- Classic Shell
- Pokki
- RetroUI
- Talisman Desktop
Web windowing systems
- Dojo
- ExtJS
TIBCO General Interface- Web Window Manager
Other
- DM
- GEM
- OPIE
- Intuition
- Microwindows
- MiniGUI
- OOHG
- Visi On
Commercial systems such as Microsoft Windows (XP, 9x and earlier), the classic Mac OS (version 9 and earlier), and Palm OS, contain a windowing system which is integrated with the OS.[citation needed]
See also
- History of the graphical user interface
- Widget toolkit
- Desktop environment
References
^ Kent, Allen; Williams, James G. (1996-10-11). Encyclopedia of Microcomputers: Volume 19 - Truth Maintenance Systems to Visual Display Quality. CRC Press. p. 227. ISBN 9780824727178. Retrieved 8 June 2017..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output q{quotes:"""""""'""'"}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-limited a,.mw-parser-output .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}