Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface.[1] Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a widget toolkit.
Few window managers are designed with a clear distinction between the
History
In 1973, the Xerox Alto became the first computer shipped with a working WIMP GUI. It used a stacking window manager that allowed overlapping windows.[7] However, this was so far ahead of its time that its design paradigm would not become widely adopted until more than a decade later. While it is unclear if Microsoft Windows contains designs copied from Apple's classic Mac OS, it is clear that neither was the first to produce a GUI using stacking windows. In the early 1980s, the Xerox Star, successor to the Alto, used tiling for most main application windows, and used overlapping only for dialogue boxes, removing most of the need for stacking.[8]
The
During the mid-1980s,
In 1988,
Examples
X window managers
On systems using the
Users of the X Window System have the ability to easily use many different window managers –
X window managers also have the ability to
Microsoft Windows
This section needs expansion. You can help by adding to it. (August 2011) |
Microsoft Windows has provided an integrated stacking window manager since Windows 2.0; Windows Vista introduced the compositing Desktop Window Manager (dwm.exe) as an optional hardware-accelerated alternative. In Windows, since GDI is part of the kernel,[13] the role of the window manager is tightly coupled with the kernel's graphical subsystems and is largely non-replaceable, although third-party utilities can be used to simulate a tiling window manager on top of such systems. Since Windows 8, the Direct3D-based Desktop Window Manager can no longer be disabled.[14] It can only be restarted with the hotkey combination Ctrl+Shift+Win+B.[15]
A complete X Windows Server, allowing the use of window managers ported from the unixoid world can also be provided for Microsoft Windows through Cygwin/X even in multiwindow mode (and by other X Window System implementations). Thereby, it is easily possible to e.g. have X Window System client programs running either in the same Cygwin environment on the same machine, or on a Linux, BSD Unix etc. system via the network, and only their GUI being displayed and usable on top of the Microsoft Windows environment.
Note that Microsoft and X Window System use different terms to describe similar concepts. For example, there is rarely any mention of the term window manager by Microsoft because it is integrated and non-replaceable, and distinct from the
ChromeOS
Since 2021 ChromeOS is shipped with its own window manager called Ash.[17] Chromium and ash share common codebase.[17] In the past one could run it by using google-chrome --open-ash
on any compatible systems.
Types
Window managers are often divided into three or more classes, which describe how windows are drawn and updated.
Compositing window managers
Compositing window managers let all windows be created and drawn separately and then put together and displayed in various 2D and 3D environments. The most advanced compositing window managers allow for a great deal of variety in interface look and feel, and for the presence of advanced 2D and 3D visual effects.
Stacking window managers
All window managers that have overlapping windows and are not compositing window managers are stacking window managers, although it is possible that not all use the same methods. Stacking window managers allow windows to overlap by drawing background windows first, which is referred to as the painter's algorithm. Changes sometimes require that all windows be re-stacked or repainted, which usually involves redrawing every window. However, to bring a background window to the front usually only requires that one window be redrawn, since background windows may have bits of other windows painted over them, effectively erasing the areas that are covered.
Tiling window manager
Tiling window managers paint all windows on-screen by placing them side by side or above and below each other, so that no window ever covers another. Microsoft Windows 1.0 used tiling, and a variety of tiling window managers for X are available, such as i3, awesome, and dwm.
Dynamic window manager
Dynamic window managers can dynamically switch between tiling or floating window layout. A variety of dynamic window managers for X are available.
Features and facilities of window managers
- Autohide
- An autohide facility enables pointeris moved away from the edge of the screen.
- Borders
- A border is a active window. Some window managers may also display a border around background windows.
- Context Menu
- Some window managers provide a context menu that appears when an alternative click event is applied to a desktop component.
- Desktop Wallpaper
- Some window managers provide a desktop wallpaper facility that displays a background picture in the root window.
- Focus Stealing
- Focus stealing is a facility some window managers provide. It allows an application not in focus to suddenly gain focus and steal user input intended for the previously focused application.
- Iconification
- An iconification facility lets users minimize running applications to a desktop icon or taskpanel icon.
- Joined Windows
- Some window managers provide a joined windows facility that lets user join application window frames together.
- Keyboard Equivalents
- Some window managers provide mousefunctionality.
- Menubar
- A system tray.
- Menu Panel
- A menubar, but appears as a floating panel, rather than a horizontal or vertical bar.
- The system tray.
- Mouse focus
- The pointeris moved around the screen.
- Mouse warping
- Mouse warping is a facility that centres the pointer on the current application as it is made active.
- Multiple Desktops
- A window manager may provide a multiple desktops facility. This enables switching between several root window desktops. This prevents clutter of the root window, because applications can run on different desktops.
- Pager
- Some window managers provide a .
- Plugins
- Some window managers have a modular construction that enables plug-in modules to provide features as required.
- Rollup
- A rollup facility enables windows to appear as just a titlebaron the desktop.
- Root Menu
- Some window managers provide a desktop backgroundis touched.
- Shortcuts
- Some window managers provide a shortcut facility that lets users place icons on the root windowthat access specific programs or facilities.
- Tabbed Windows
- Some window managers provide a tabbed windows facility that groups applications together in common frames.
- Task Switching
- The window manager may provide various task switching facilities that let the user change the currently focused application, including:
- Taskbar
- Some window managers provide a menubaron some window managers.
- Task Panel
- A task panel is similar to a taskbar, but appears as a floating panel, rather than a horizontal or vertical bar.
- Start Button
- A start button is a desktop widget that provides a menu of programs that can be launched. The start button is typically placed on a menubarat the bottom of the screen.
- Notification Area
- A Notification Area.
- Title Bars
- A titlebaris 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.
- Title Bar Buttons
- Title bar buttons are included in the titlebar.
- Virtual Desktop
- A virtual desktop (also called a scrolling desktop) is a facility some window managers provided that lets the desktop be larger than the actual screen
An active window is the currently focused
Window managers often provide a way to select the active window using the keyboard as an alternative to the mouse. One typical key combination is
Many, though not all, window managers provide a region of the screen containing some kind of visual control (often a button) for each window on the screen. Each button typically contains the title of the window and may also contain an icon. This area of the screen generally provides some kind of visual indication of which window is active—for example, the active window's button may appear “pushed in”. It is also usually possible to switch the active window by clicking on the appropriate button. In Microsoft Windows, this area of the screen is called the taskbar; in Apple Macintosh systems this area of the screen is called the dock.
The active window may not always lie in front of all other windows on the screen. The active window is simply the window to which keys typed on the keyboard are sent; it may be visually obscured by other windows. This is especially true in window managers which do not require a click to change active windows: FVWM, for example, makes active the window under the mouse cursor but does not change its Z-order (the order in which windows appear, measured from background to foreground). Instead, it is necessary to click on the border of the window to bring it to the foreground. There are also situations in click-to-focus window managers such as Microsoft Windows where the active window may be obscured; however, this is much less common.
See also
References
- ^ "Window manager". Dictionary.com. Archived from the original on 11 March 2016.
- ^ "window manager Definition from PC Magazine Encyclopedia". www.pcmag.com.
- ^ Shultz, Greg (24 May 2006). "Toggling Windows XP's taskbar grouping feature". TechRepublic. Retrieved 7 January 2022.
- ^ Kaufman, Lori (2012-02-10). "How to Roll a Window Up Into its Title Bar in Linux Mint 12". How-To Geek. Retrieved 7 January 2022.
- ^ Kirk, David (12 October 2003). "XP and Vista: Tile, Cascade, or Minimize Windows". Tech-Recipes: A Cookbook Full of Tech Tutorials. Retrieved 7 January 2022.
- ^ Newell, Gary (2020-07-24). "How to Use Linux Style Virtual Workspaces in Windows 10". Lifewire. Retrieved 7 January 2022.
- ^ Lineback, Nathan. "The Xerox Alto". toastytech.com.
- ^ Lineback, Nathan. "The Xerox Star". toastytech.com.
- ^ Siracusa, John (28 April 2005). "Mac OS X 10.4: Quartz". Ars Technica.
- ^ Lineback, Nathan. "GEM 1.1 screenshots". Toastytech.com. Archived from the original on 2019-12-25. Retrieved 2016-08-01.
- ^ Lineback, Nathan. "GEM 2.0 Screen Shots". Toastytech.com. Archived from the original on 2019-08-22. Retrieved 2016-08-01.
- ^ "OS/2 History". Archived from the original on 13 February 1998.
- ^ Pleas, Keith (April 1996). "Windows NT 4.0". Windows IT Pro. Archived from the original on March 10, 2007. Retrieved May 17, 2019.
- ^ "Desktop Window Manager is always on - Win32 apps". docs.microsoft.com.
- ^ Troubleshooting black or blank screens in Windows 10
- ^ "Yes, there's a new desktop window manager, but no, I don't know any more about it than you do". The Old New Thing. 2009-10-26. Retrieved 2021-10-06.
- ^ a b "ash - chromium/src - Git at Google". chromium.googlesource.com. Retrieved 2021-10-06.