xmonad er en window manager til X-vinduesystemet skrevet i funktionsprogrammeringssproget Haskell.

xmonad
Stabil version 0.11 (1. januar 2013)
Skrevet i Haskell
Tilgængelig på engelsk
Licens 3-klausul BSD-licensen
Hjemmeside http://xmonad.org/

Den blev påbegyndt i marts 2007 og minder om andre tiling window managers som dwm, larswm og StumpWM, som alle har de egenskaber til fælles at vinduer arrangeres, så de aldrig overlapper hinanden, og så det er muligt at vinduerne kan navigeres uden brug af musen.

xmonad virker på adskillige Unix-baserede eller -lignende styresystemer såsom Arch Linux, Debian, Fedora, FreeBSD, Gentoo, Mac OS X, NetBSD, NixOS, OpenBSD, Source Mage og Ubuntu.

xmonad var oprindeligt en klon af dwm, blandt andet inspireret af dens tastaturgenveje. Den understøtter blandt andet at hvert arbejdsområde kan have sit eget vinduelayout, at vinduelayout kan spejles, understøttelse af GNOME og forskellige statusbarer til forskellige skærme.

xmonad konfigureres ved at skrive et Haskell-program som benytter XMonad-biblioteket, som så oversættes og køres som window manageren. Det er også muligt at opdatere konfigurationen og genindlæse den mens den kører.

Foruden det manglende behov for en mus udmærker xmonad sig ved at være udviklet ved hjælp af programafledning, der er en formel måde at angive en specifikation for programmet. Version 0.7 fylder desuden færre end 1200 linjer kode og afprøves af QuickCheck. Foruden at xmonad er den første window manager skrevet i programmeringssproget Haskell, er det også den første til at bruge zipper-datastrukturen til at vedligeholde vinduefokus.

En udtalelse fra udviklerne lyder således:

"xmonad er en implementeret, konfigureret og dynamisk udvidelig igennem Haskell. Den demonstrerer at software som normalt domineres af bivirkninger kan udvikles med samme præcision og effektivitet som vi forventer fra Haskell ved at bruge rent funktionelle datastrukturer."

Se også redigér

Eksterne henvisninger redigér