November 14, 2025
Keys vs Clicks: Choose your fighter
Moving Back to a Tiling WM – XMonad
From GNOME back to tiles: fans swoon, skeptics roll eyes
TLDR: A Linux user bailed on GNOME and rebuilt their desktop in XMonad using Haskell for a portable, keyboard-driven setup. Comments split between praise, “it’s just for fun,” and a hot trend claiming scrolling window managers like Niri and PaperWM are the real future.
He left the comfy couch of GNOME and sprinted back to XMonad—the keyboard-first world where your apps snap into tidy tiles like Lego. The author didn’t just switch; he built a one-click desktop in Haskell, split into neat modules, and used a build script to clone it anywhere. He even flexed type-safe shortcuts (basically, code that double-checks your keys), turning his setup into a nerdy, portable dream. But the real fireworks? The comments. One camp cheers, pointing out KDE’s built-in tiling—“why leave the spa when the gym’s already in the same building,” joked fans of KDE. Others reminisce about tiling on tiny laptops: “on 1366×768, every pixel counts,” says the small-screen squad.
Then came the spice. A bold voice declared “tiling is dead” and crowned the future as scrolling interfaces like Niri and PaperWM. The fashionistas showed up too, celebrating the art of ricing—customization so pretty you post it on r/linuxporn. Meanwhile, skeptics rolled their eyes at the Haskell party: fun over function, they say—type-checking won’t save you when a shortcut doesn’t work. Cue a classic internet showdown: keyboard cult vs mouse mafia, with memes about “Haskell being the final boss of window dressing” and “Type-check your vibes.” It’s dramatic, it’s nerdy, it’s glorious.
Key Points
- •The author returned to a tiling window manager by adopting XMonad, motivated by a desire for finer control after using GNOME on Fedora 40.
- •The XMonad configuration is written in Haskell, leveraging strong typing, modular files, and Stack for portability and reproducible builds.
- •The project includes two executables (xmonad and xmobar), custom xmobar plugins, and an xmobar configuration written in Haskell.
- •Installation involves cloning a GitHub repository, running an install script that sets fonts/tools and writes .xinitrc and .Xresources, and accessing a keybinding help dialog via alt+shift+/ (or alt+?).
- •Per-workspace layouts are implemented via PerWorkspace, and X.Org tools (setxkbmap, xcape) are used to remap Caps Lock behavior.