github.com/xmonad/xmonad

The core of xmonad, a small but functional ICCCM-compliant tiling window manager

Open this visualization on its own page →

Contributors

95

Lines of Code

2,034

From

2007-03-07

To

2021-01-01

About xmonad/xmonad

XMonad is a tiling window manager for X11 written entirely in Haskell. It automatically arranges windows to tile across the screen without gaps or overlap, maximizing screen real estate. All window manager features are keyboard-accessible, making the mouse optional, and users can write custom layout algorithms, key bindings, and extensions directly in Haskell configuration files. The project supports dynamic layout switching and Xinerama multi-monitor setups.

This repository contains the minimal and stable core xmonad package, designed to be extensible rather than feature-complete. It is paired with xmonad-contrib, a separate library of hundreds of community-maintained tiling algorithms and additional modules that together create a highly customizable X11 window management system. The two packages are essentially libraries for building your own window manager, allowing users to configure nearly every aspect of their workspace behavior.

Started in 2007 by Spencer Janssen, Don Stewart, and Jason Creighton, xmonad has been continuously maintained and developed by successive generations of contributors. The project welcomes contributions across bug reports, code improvements, documentation, and community support, with development guidance available in the project's documentation and contributing guidelines.

Share this video