Window Manager
A window manager manages windows on the screen. For example, it determines:
- where windows appear
- how windows can be moved and resized
- whether windows overlap
- how windows are arranged on the screen
- which keyboard shortcuts are available
- how multiple virtual desktops work
The window manager is therefore responsible for the behavior and arrangement of windows.
Two Basic Types
Floating Window Managers
Windows can be moved freely and resized. This is the type of interface commonly used with Windows and macOS.
- Mutter in GNOME
- KWin in KDE Plasma
- Xfwm in Xfce
- Openbox
- i3 in floating mode
Tiling Window Managers
Windows are automatically arranged next to or below one another. This reduces the need to use the mouse.
- i3
- Sway
- Hyprland
- dwm
- awesome
A tiling window manager can be especially useful when working with multiple terminals, editors, or documents at the same time.
Window Managers and Compositors
With X11, the term window manager is usually used. Under Wayland, a so-called compositor often performs additional tasks.
- arranges windows
- draws windows on the screen
- manages transparency and animations
- processes input
- communicates with the graphics system
Many Wayland compositors are also standalone window managers. Examples include:
- Mutter – GNOME
- KWin – KDE Plasma
- Mutter and other compositors – Used in various desktop environments
- Sway – Wayland alternative to i3
- Hyprland – Dynamic tiling compositor
Desktop Environments and Window Managers Compared
| Term | Responsibility | Example |
|---|---|---|
| File system | Stores and organizes files | ext4, Btrfs |
| File manager | Provides access to files and folders | Dolphin, Nautilus |
| Desktop environment | Provides a complete graphical working environment | GNOME, KDE Plasma |
| Window manager | Manages the position and behavior of windows | i3, Openbox, KWin |
| Display server or compositor | Connects applications with the screen and input devices | X11, Wayland, Sway |
A complete Linux interface could look like this:
Linux distribution: Fedora
Desktop environment: GNOME
Window manager/compositor: Mutter
Display system: Wayland
File manager: Files
Terminal: GNOME Terminal
Linux distribution: Arch Linux
Desktop environment: no complete DE
Window manager: i3
Display system: X11
File manager: Thunar
Terminal: Alacritty
Key Point
The file system organizes data on the storage device. The file manager provides access to this data. The desktop environment provides the graphical working environment, while the window manager manages the individual windows.