From Gentoo Wiki
Jump to: navigation, search

xmonad is a fast and lightweight tiling-windowmanager for X11 written, configured and extended in the purely-functional programming language Haskell.


Generally, there are two ways to install XMonad:

root #emerge --ask xmonad


user $cabal install xmonad



To start xmonad you can use a display manager or startx.

If want to use startx and want ConsoleKit support, setup ConsoleKit and create the following file:

FILE ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session xmonad


XMonad itself can be configured through ~/.xmonad/xmonad.hs which is written in Haskell.

Minimal configuration file with default configuration:

CODE Primitive xmonad.hs
import XMonad
main = xmonad $ defaultConfig

Once you changed your config file you should compile it and restart XMonad.

user $xmonad --recompile
user $xmonad --restart

In most cases to write a config file you need additional features provided by xmonad-contrib library. You can install it from x11-wm/xmonad-contrib

root #emerge --ask xmonad-contrib

OR using cabal:

user $cabal install xmonad-contrib

Adding status bars

Unlike many other window managers, XMonad does not have any built-in status bars. Instead of this it can pipe required information to external program. Usually, xmobar or dzen is a good choice for status bar.

root #emerge --ask xmobar


root #emerge --ask dzen

External resources