An Introduction to the Window Managers
Introduction
A window manager controls how application windows are displayed and organized on your screen. It's what lets you move, resize, and arrange windows, making multitasking easier. Whether you're a developer with a dozen terminals open or just someone who likes to keep things tidy, the right window manager can significantly enhance your workflow.
These tools aren't just about aesthetics (They can make your desktop look Amazing) —they're about efficiency and control. A good window manager helps you make the most of your screen space, allowing you to switch between tasks seamlessly and keep everything in order. By customizing how your windows behave, you can create a desktop environment that perfectly suits your working style.
History and evolution
Window managers have come a long way since their humble beginnings. Back in the 1980s, the first window managers were pretty basic—just enough to let users move and resize windows. Think of them as the pioneers of the GUI world, laying the groundwork for everything that came after.
As computers got more powerful, so did window managers. The 1990s saw the rise of more advanced options like FVWM, which introduced cool features like virtual desktops. This was when people started experimenting with different styles, leading to the creation of both stacking and tiling window managers.
By the 2000s, things got a bit flashier with the arrival of compositing window managers, adding eye-catching effects like shadows and animations. Today, window managers are all about efficiency and customization, helping users tailor their desktops to fit their exact needs.
Window Manager vs Desktop Environment
So, what's the deal with window managers and desktop environments? They might sound similar, but they're actually quite different!
Window Manager: Think of this as the maestro of your windows. It’s in charge of how windows pop up, move around, and resize. It’s like the backstage crew that makes sure everything is organized and easy to use, but it doesn't come with extra frills.
Desktop Environment: This is the whole package. A desktop environment includes a window manager plus a bunch of other goodies like a file manager, system settings, and app launchers. It's like the full stage show—everything you need for a complete and cohesive desktop experience, all wrapped up in one neat bundle. KDE Plasma, Gnome, XFCE, Cinnamon are some of the examples.
In short, a window manager is focused on the windows themselves, while a desktop environment is your all-in-one solution for managing your desktop.
Pros
- Efficiency: Keep your workspace neat and tidy, making it easy to juggle multiple apps without overlapping chaos.
- Customization: Tweak everything to fit your style, from window layouts to keyboard shortcuts.
- Resource-Friendly: Light on system resources, so your computer runs faster and smoother, even on older machines.
- Keyboard Power: Navigate and manage windows quickly with keyboard shortcuts—less mouse, more speed!
- Minimalist Vibes: Enjoy a clean, distraction-free desktop without extra fluff.
Cons
- Learning Curve: Can be tricky to set up and get used to, especially if you’re new to customizing your desktop.
- Limited Features: Often lacks the extra tools and utilities found in full desktop environments, so you might need to add them yourself.
- Keyboard-Heavy: Relying on keyboard shortcuts might be a bit overwhelming if you’re used to clicking everything with your mouse.
Types of WM’s
-
Stacked WM’s
Stacking window managers give you the classic desktop experience you're used to on systems like Windows and macOS. Picture your desktop as a desk covered in papers: windows stack on top of each other, so you can have one window in front of another. You can easily move, resize, and layer them however you like.This style is all about flexibility. You can drag windows around, overlap them, and quickly switch between them by clicking on the one you need. It's a straightforward approach that works well for users who prefer a more traditional, intuitive way of managing their workspace.
Fluxbox Window Manager on ArchCraft (Alacritty, Polybar, Geany, Rofi, Thunar) -
Tiling WM’s
Tiling window managers shake things up by arranging your windows in a neat, non-overlapping grid. Imagine a perfectly organized desk where everything has its own spot—no more overlapping windows or clutter. These managers are probably the most popular type of window manager among power users and efficiency enthusiasts.
They often rely heavily on keyboard shortcuts rather than the mouse, letting you quickly switch between windows and arrange them with ease. Some tiling window managers let you set up your own layouts, while others come with pre-configured setups to get you started. Whether you like to manually tweak your workspace or prefer predefined arrangements, tiling window managers offer a clean and efficient way to keep everything in order.I3 Window Manager on Arch Linux ( Firefox, Spotify, Terminator, Thunar)
-
Dynamic WM’s
Dynamic window managers offer the best of both tiling and floating worlds. They can dynamically switch between tiling and floating layouts, giving you flexibility based on your needs.
When you need a tidy workspace, you can go with a tiling layout where windows snap into place without overlapping. But if you prefer a more traditional setup where you can freely move and resize windows, dynamic managers let you switch to a floating mode. This versatility makes dynamic window managers a great choice for users who want a balance between structured organization and flexible window management.
My Own Setup, Hyprland Window Manager on Arch (Vscode, Cava on Kitty, Dolphin, my own self-made status bar)
Popular WM’s in different operating systems
- Linux
- Awesome: Awesome is a highly configurable tiling window manager that uses Lua for its configuration. It's designed for power users who want to customize their setup extensively, offering both tiling and floating layouts
- I3: i3 is a Very popular tiling window manager known for its simplicity and ease of use. It features a clean, straightforward configuration and focuses on maximizing screen space with efficient keyboard controls.
- Sway: A tiling Wayland compositor that is a drop-in replacement for the X11 i3 window manager.
- Hyprland: Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
- Windows
-
FancyWm: Dynamic Tiling Window Manager for Windows
-
Komorebi: A tiling window manager for Windows 🍉
-
GlazeWM: Tiling Manager inspired by i3.
- Mac OS
-
Loop: Elegant and Aesthetic WM
-
AeroSpace: AeroSpace is an i3-like tiling window manager for macOS
AeroSpace WM on MacOS (Sketchy Bar, Vscode, Safari)
Resources for Customization
- Ricing Guide : Ricing, a term commonly used for making your boring linux desktop into a treat for your eyes.
- Ricing subreddit
- Stephan Rabbe’s Dotfile: Dotfiles are hidden configuration files in Unix-like systems that store settings for shells, softwares, editors, and other tools.
- Tools and softwares list