# Stacking window manager

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Stacking_window_manager
> Markdown URL: https://mediated.wiki/source/Stacking_window_manager.md
> Source: https://en.wikipedia.org/wiki/Stacking_window_manager
> Source revision: 1335508130
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Window manager that draws all windows in a specific order, allowing them to overlap

A screenshot of [Ultrix Window Manager](/source/Ultrix_Window_Manager), which uses a stacking window manager. Note how the stacked windows overlap each other.

A **stacking window manager** (also called **floating window manager**) is a [window manager](/source/Window_manager) that draws and allows windows to overlap, without using a compositing algorithm. All window managers that allow the overlapping of windows but are not [compositing window managers](/source/Compositing_window_manager) are considered stacking window managers, although it is possible that not all use exactly the same methods. Other window managers that are not considered stacking window managers are those that do not allow the overlapping of windows, which are called [tiling window managers](/source/Tiling_window_manager).[1]

Stacking window managers allow windows to overlap using clipping to allow applications to write only to the visible parts of the windows they present.

The order in which windows are to be stacked is called their [z-order](/source/Z-order).

## History

Main article: [History of the graphical user interface](/source/History_of_the_graphical_user_interface)

- 1970s: The [Xerox Alto](/source/Xerox_Alto) which contained the first working commercial [GUI](/source/GUI) used a stacking window manager.[2]

- Early 1980s: The [Xerox Star](/source/Xerox_Star), successor to the Alto, used [tiling](/source/Tiling_window_manager) for most main application windows, and used overlapping only for dialogue windows removing the need for full stacking.[3]

- The [Classic Mac OS](/source/Classic_Mac_OS) was one of the earliest commercially successful examples of a [GUI](/source/GUI) which used stacking windows.

- [GEM](/source/Graphics_Environment_Manager) predated Microsoft Windows and used stacking, allowing all windows to overlap.

- [Amiga OS](/source/Amiga_OS) contains an early example of a highly advanced stacking window manager.

## Microsoft Windows

Microsoft [Windows 1.0](/source/Windows_1.0) displayed windows using a [tiling window manager](/source/Tiling_window_manager). In [Windows 2.0](/source/Windows_2.0), it was replaced with a stacking window manager, which allowed windows to overlap. Microsoft kept the stacking window manager up through [Windows XP](/source/Windows_XP), which presented severe limitations to its ability to display 3D-accelerated content inside normal windows. Although it was technically possible to produce some visual effects using third-party software.[4] From [Windows Vista](/source/Windows_Vista) onward, a new [compositing window manager](/source/Compositing_window_manager) is the default on compatible systems.[5]

## X Window System

Main article: [X window manager](/source/X_window_manager)

Many windows managers under the [X Window System](/source/X_Window_System) provide stacking window functionality, including following window managers.

- 2bwm[6]

- [4Dwm](/source/4Dwm)

- [AfterStep](/source/AfterStep)

- [amiwm](/source/Amiwm)

- [awesome](/source/Awesome_(window_manager))

- berry

- [Blackbox](/source/Blackbox)

- [CTWM](/source/CTWM)

- [cwm](/source/Cwm_(window_manager))

- [dwm](/source/Dwm)

- [qpwm](https://en.wikipedia.org/w/index.php?title=Qpwm&action=edit&redlink=1)

- eggwm

- [Enlightenment](/source/Enlightenment_(window_manager))

- [Fluxbox](/source/Fluxbox)

- [FLWM](/source/FLWM)

- FrankenWM[7]

- [FVWM](/source/FVWM)

- FVWM95

- Goomwwm

- [Hackedbox](https://en.wikipedia.org/w/index.php?title=Hackedbox&action=edit&redlink=1)

- [IceWM](/source/IceWM)

- Iwm

- JBWM (Just a Barely-functional Window Manager)

- JWM[8]

- Karmen

- [KWin](/source/KWin)[note 1]

- [MLVWM](/source/MLVWM)

- [MWM](/source/Motif_Window_Manager)

- [Mutter](/source/Mutter_(software))

- [Muffin](/source/Muffin_(software))

- [olwm](/source/Olwm)

- [Openbox](/source/Openbox)

- pawm

- [PLWM](https://en.wikipedia.org/w/index.php?title=PLWM&action=edit&redlink=1)

- [Sawfish](/source/Sawfish_(window_manager))

- [Scwm](/source/Scwm)

- [swm](/source/Swm)

- TinyWM

- [tvtwm](/source/Tvtwm)

- [twm](/source/Twm)

- vwm

- [vtwm](/source/Vtwm)

- [Window Maker](/source/Window_Maker)

- [WindowLab](/source/WindowLab)

- [wm2](/source/Wm2)

- [wmx](/source/Wmx)

- [Xfwm](/source/Xfwm)[note 1]

### Notes

1. ^ [***a***](#cite_ref-turnoff_9-0) [***b***](#cite_ref-turnoff_9-1) With compositing turned off

## Hybrid window managers

Some window managers may be able to treat the foreground window in an entirely different way, by rendering it indirectly, and sending its output to the video card to be added to the outgoing [raster](/source/Raster_graphics). While this technique may be possible to accomplish within some stacking window managers, it is technically [compositing](/source/Compositing), with the foreground window and the screen raster being treated the same way two windows would be in a [compositing window manager](/source/Compositing_window_manager).

Interacting with objects outside the original area of the foreground window might also be impossible, since the window manager would not be able to determine what the user is seeing, and would pass such mouse clicks to whatever programs occupied those areas of the screen during the last stacking event.

## References

1. **[^](#cite_ref-1)** ["How-to: Picking a Window Manager in Linux"](https://www.engadget.com/2012/10/30/how-to-picking-a-window-manager-linux/). *Engadget*. 30 October 2012.

1. **[^](#cite_ref-2)** Lineback, Nathan. ["The Xerox Alto"](http://toastytech.com/guis/alto3.html). *toastytech.com*.

1. **[^](#cite_ref-3)** Lineback, Nathan. ["The Xerox Star"](http://toastytech.com/guis/star.html). *toastytech.com*.

1. **[^](#cite_ref-tweakguides_4-0)** ["TweakGuides.com - Nvidia GeForce Tweak Guide"](https://web.archive.org/web/20190822172445/https://www.tweakguides.com/NVFORCE_8.html). *www.tweakguides.com*. Archived from [the original](https://www.tweakguides.com/NVFORCE_8.html) on 2019-08-22. Retrieved 2019-06-25.

1. **[^](#cite_ref-5)** ["Desktop Window Manager - Windows applications"](https://docs.microsoft.com/en-us/windows/desktop/dwm/dwm-overview). *docs.microsoft.com*. 23 August 2019.

1. **[^](#cite_ref-6)** ["Venam/2bwm"](https://github.com/venam/2bwm). *[GitHub](/source/GitHub)*.

1. **[^](#cite_ref-7)** ["Sulami/FrankenWM"](https://github.com/sulami/FrankenWM). *[GitHub](/source/GitHub)*.

1. **[^](#cite_ref-8)** ["Joewing.net"](https://joewing.net/projects/jwm/).

## External links

- [Graphical User Interface Gallery](http://toastytech.com/guis/)

v t e Desktop environments and window managers based on X or Wayland Desktop environments (comparison) GTK-based Budgie Cinnamon GNOME 1 2 3 GPE Java Desktop System LXDE MATE ROX Desktop Sugar Xfce Qt-based Deepin DE KDE SC 1 2 3 4 Lumina LXQt Razor-qt Trinity UKUI Motif-based CDE IRIX Interactive Desktop VUE X.desktop Other COSMIC Looking Glass OpenWindows (XView- and OLIT-based) UDE (Xlib/XCB-based) Graphical shells GNOME Shell KDesktop KDE Plasma 4 5 6 Plasma Bigscreen Plasma Mobile Lomiri Maynard Phosh Unity X window managers (comparison) Compositing Compiz Enlightenment KWin Metacity Metisse Moksha Muffin Mutter Project Looking Glass Xfwm Stacking 4Dwm AfterStep amiwm Blackbox CTWM cwm Fluxbox FLWM FVWM IceWM Matchbox Motif Window Manager olwm Openbox Qvwm Sawfish swm twm tvtwm vtwm Window Maker WindowLab wm2 Tiling awesome dwm i3 Ion larswm ratpoison StumpWM wmii xmonad Wayland compositors Enlightenment Gala KWin Mir Mutter Muffin Budgie-wm sway Weston Hyprland Related Display server Desktop metaphor GUI GUI widget Painter's algorithm Resolution independence Shell Virtual desktop Widget toolkit WIMP Windowing system

v t e X Window System Architecture Core protocol Selection Authorization X11 color names X Input Method X resources Wayland Extensions X Image Extension X keyboard extension RandR X Rendering Extension Shape extension Shared memory extension X Display Manager Control Protocol X video extension X-Video Motion Compensation AIGLX GLX Multi-Pointer X Display PostScript Composite Extension Xinerama Components, notable implementations Display servers X.Org Server Cygwin/X X-Win32 X386 XFree86 XDarwin Xming Xsgi Xsun Xgl Xephyr XQuartz XWayland Client libraries Xlib XCB X Toolkit Intrinsics Display managers Session managers GDM KDM SDDM XDM LightDM LXDM Entrance Window managers (comparison) Compositing Compiz KWin Metacity Mutter Xfwm Enlightenment Stacking 4Dwm AfterStep amiwm Blackbox CTWM cwm Fluxbox FLWM FVWM IceWM Matchbox mwm olwm Openbox Qvwm Sawfish swm tvtwm twm vtwm WindowLab Window Maker wm2 Tiling awesome dwm i3 Ion ratpoison wmii xmonad StumpWM larswm Standards ICCCM EWMH XDS freedesktop.org Applications xcalc xclock xedit xload xterm xeyes Desktop environments (comparison)

---
Adapted from the Wikipedia article [Stacking window manager](https://en.wikipedia.org/wiki/Stacking_window_manager) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Stacking_window_manager?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
