Window Manager (WM)
The Window Manager is the system component that controls how application windows are displayed and managed on your screen. It determines:
- How windows open, move, resize, minimize, and close.
- How windows are stacked, tiled, or floated.
- How focus and decorations (title bars, borders) work.
“The Window Manager is the stage director—it doesn’t run the show, but it controls how each window acts and where it stands on stage.”
💡 Features
- Draws and positions windows on screen.
- Handles keyboard and mouse interaction with windows.
- Manages window focus and workspace switching.
- Applies window decorations (or leaves them out in minimalist WMs).
- Controls tiling, stacking, floating, or fullscreen behavior.
🧱 Types Of Window Managers
Stacking (Floating) WMs
- Windows overlap like in traditional desktops (Windows, macOS).
- You can move, resize, and layer windows manually.
- Examples:
GNOME Shell(part of GNOME DE)Xfwm(used in XFCE)Marco(used in MATE)
Tiling WMs
- Windows automatically arrange into non-overlapping tiles.
- Efficient for keyboard-driven workflows and multi-window productivity.
- Examples:
i3bspwmawesomesway(Wayland-compatible i3-like WM)
⚠️ Relationship With Desktop Environments
- Most full Desktop Environments include their own built-in WM:
- GNOME →
Mutter - KDE →
KWin - XFCE →
Xfwm
- GNOME →
- Standalone WMs (like i3, bspwm) can be used without a full DE, or combined with lightweight panels and tools (e.g.,
polybar,rofi,dmenu) to build a custom desktop.