Het programma xmonad is een niet-overlappende windowmanager. De naam is een samentrekking van de grafische omgeving X Window System en de term monad die gebruikt wordt in functioneel programmeren om een rekeneenheid aan te duiden.

Haskell en minimalisme 
In maart 2007 is de ontwikkeling aan xmonad begonnen door een recent terug actief geworden Haskell-gemeenschap. Ze hadden het doel om met de functionele taal Haskell een minimale, niet-overlappende, toetsenbordgestuurde windowmanager te maken die heel eenvoudig via configuratiebestanden in te stellen was.

Door het gebruik van de taal Haskell is het mogelijk om de windowmanager te maken met slechts 1200 regels code. Haskell leent zich ook tot automatische testen.

Functionaliteit 
De standaard xmonad-ervaring is heel minimalistisch en daarom niet erg bruikbaar. De community heeft echter tal van uitbreidingen gemaakt rond xmonad zoals taakbalken en het emuleren van andere windowmanagers. Door de aanpasbaarheid van xmonad is het ook mogelijk om andere plaatsingsalgoritmes voor de vensters te kiezen. Een populair algoritme is het plaatsen volgens de spiraal van Fibonacci.

Externe link 
 xmonad.org

Software geschreven in Haskell
Opensourcesoftware en vrije software
Windowmanager