A windowing system (or window system) is a component of a graphical user interface (GUI), and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards. The mouse cursor is also generally drawn by the windowing system.
The term windowing system is sometimes used to refer to other elements of a graphical interface such as those belonging to window managers or even applications. While on some operating systems the distinction between applications, window managers, and their supporting technologies are blurred, strictly speaking, a windowing system does not include windows themselves.
From a programmer's point of view, a windowing system implements graphical primitives such as rendering fonts or drawing a line on the screen, effectively providing an abstraction of the graphics hardware from higher level elements of the graphical interface like window managers.
A windowing system enables the computer user to work with several programs at the same time. Each program runs in its own window, which is generally a rectangular area of the screen. Most windowing systems have basic support of re-parenting which allows windows to overlap, however the ways in which windows interact is usually controlled by the window manager.
Some windowing systems, like the X Window System, have advanced capabilities such as network transparency, allowing the user to display graphical applications running on a remote machine. The X Window System takes a strictly layered approach, and does not implement any specific policy regarding the look and feel of the graphical user interfaces, and their behaviour, leaving that to the X window managers, widget toolkits and desktop environments.
List of windowing systems
Windowing systems for Unix-like operating systems
Full article ▸