Open-Source Graphical Shells: Part Two – Window Managers

Open-Source Graphical Shells: Part Two – Window Managers

Open-Source Graphical Shells: Part Two – Window Managers

Part 2 of a three-part series on the graphical shells of the open-source world. 

[Read Part One: Desktop Environments]

Contents

Why Choose a Window Manager Alone? 

The Stacking Classics 

The Tiling and Keyboard-Driven World 


Part One of this series looked at desktop environments — the all-in-one packages most newcomers meet first. This instalment goes a layer deeper, into window managers (WMs) that can run entirely on their own, without a desktop environment wrapped around them. Strip away the file manager, the settings panel and the shared theming, and what's left is the single component actually responsible for where your windows sit, how they're focused, and how they behave. For a specific kind of user, that bare-bones control is the whole point.


Why Choose a Window Manager Alone?

Every DE in Part One bundles a window manager internally — GNOME uses Mutter, KDE Plasma uses KWin, and so on. Running a standalone WM means skipping that bundle altogether and building your desktop from separate, interchangeable parts: your own choice of panel, launcher, wallpaper tool and notification daemon, glued together by configuration files you write yourself.


Two broad philosophies exist. Stacking window managers behave the way most people expect a desktop to behave: windows overlap, you drag them around, and you click to bring one to the front — this is simply a more minimal, configurable take on that familiar model. Tiling window managers take the opposite approach: windows are arranged automatically into non-overlapping tiles, resized and positioned by keyboard shortcuts rather than a mouse, which many developers, sysadmins and terminal-heavy users find dramatically faster once the initial learning curve is behind them. Both camps prize low resource use and configurability; they simply disagree about what the screen should look like on login.


The Stacking Classics

Openbox is the standout here — a GPL-licensed, standards-compliant WM that's the default in LXDE and commonly paired with LXQt. It's been considered functionally complete for well over a decade, so releases are rare, but it remains one of the most widely packaged WMs in the Linux and BSD world precisely because "finished and stable" is exactly what a lot of users want from this layer.


Fluxbox, a fork of the older Blackbox codebase started in 2001, keeps that same lightweight, tabbed approach and still ships as the default WM on distributions like antiX and various MX Linux spins. Blackbox itself lives on today primarily through community forks rather than its original codebase, a fairly typical fate for software this old in a healthy open-source ecosystem.


IceWM and JWM both aim squarely at minimalism and speed, with IceWM in particular known for its ability to mimic other desktops' visual styles — Windows 95, OS/2, Motif — for anyone who wants a specific nostalgic look without the overhead of the original. FVWM, one of the oldest WMs still actively maintained (now at its FVWM3 generation), offers unusually deep configurability through its own scripting-like configuration language. Window Maker takes a different aesthetic path entirely, faithfully recreating the NeXTSTEP look and feel as a GNUstep-compatible environment, and saw a genuine return to active development in the 2010s after a long quiet spell. TWM, the Tab Window Manager, remains the reference WM shipped with the X Window System itself — rarely anyone's daily driver today, but still a useful fallback and a piece of X11 history worth knowing about.


The Tiling and Keyboard-Driven World

i3 is the workhorse of this category: a dynamic tiling WM for X11, written in C and inspired by an earlier project called wmii, prized for a clean, well-documented configuration format that's become something of a lingua franca — plenty of newer tiling tools, including some Wayland compositors, still describe themselves as "i3-compatible." bspwm takes a related but distinct approach, tiling windows through binary space partitioning and controlling almost everything via external messages, which suits users who like to script their desktop rather than click through a settings app.


At the more radical end sits suckless.org, the community behind dwm. Suckless software follows a deliberately extreme minimalism: dwm's entire source is kept under roughly 2,000 lines of code, there's no configuration file in the conventional sense — you edit a header file and recompile — and customisation happens through community-shared patches rather than plugins. It's not for everyone, but its influence runs deep: both Xmonad (written in Haskell, prized for the mathematical rigour its type system brings to window-management logic) and AwesomeWM (written in C and Lua, and originally a dwm fork before diverging into its own framework-like project) trace their lineage directly back to it.


Qtile, configured entirely in Python, appeals to anyone who'd rather script their window manager in a language they already know than learn a new configuration syntax. Herbstluftwm offers manual tiling with an emphasis on scriptable control over automatic layouts, while StumpWM, written and configured in Common Lisp, and EXWM, built for and extending Emacs itself, sit at the specialist end for users who already live inside those environments and want their window management to speak the same language. Ratpoison, one of the earliest keyboard-only WMs and a direct influence on StumpWM's design, and Wmii, the suckless-adjacent project i3 itself was inspired by, round out a lineage that's shaped almost everything else in this category.


A brief honest note: a handful of names on some community-compiled lists of tiling WMs — including a couple of very obscure, thinly documented projects have been left out here. This is to avoid information overload of curious readers.


Conclusion

Window managers are where open-source customisation gets genuinely personal. A stacking WM like Openbox gives you a familiar desktop stripped of anything you didn't ask for; a tiling WM like i3 or dwm asks you to relearn how you interact with your screen entirely, in exchange for speed and precision once the muscle memory sets in. Neither is "better" than a full desktop environment — they're a different trade-off, favouring assembly and control over convenience out of the box. Part Three of this series moves into the newest layer of this story: Wayland compositors, the standalone and BSD-specific shells, and where the whole ecosystem is heading next.


Disclaimer

All product names, logos, and trademarks mentioned in this article — including Openbox, Fluxbox, Blackbox, IceWM, JWM, FVWM, Window Maker, TWM, i3, bspwm, suckless.org, dwm, Xmonad, AwesomeWM, Qtile, Herbstluftwm, StumpWM, EXWM, Ratpoison, and Wmii — are the property of their respective owners and are used here for identification and informational purposes only. The Distrowrite Project strives for accuracy but makes no warranty as to completeness; readers should consult official project sources before making deployment decisions. This article does not endorse or promote any activity involving malware, unauthorised access, or other conduct that could compromise the security or integrity of networks, devices, or infrastructure.


References


2️⃣👨🏻‍💻♨🎓⚛𝐈𝐈


Comments