Copyright (C) 2007 Don Stewart and Andrea Rossato BSD3 andrea.rossato@unibz.it unstable portable Safe Haskell98

Description

This is a brief tutorial that will teach you how to create a basic xmonad configuration.

Synopsis

   ~/.xmonad/xmonad.hs

If this file does not exist, xmonad will simply use default settings; if it does exist, xmonad will use whatever settings you specify. Note that this file can contain arbitrary Haskell code, which means that you have quite a lot of flexibility in configuring xmonad.

HISTORICAL NOTE regarding upgrading from versions (< 0.5) of xmonad or using old documentation:

xmonad-0.5 delivered a major change in the way xmonad is configured. Prior to version 0.5, configuring xmonad required editing a source file called Config.hs, manually recompiling xmonad, and then restarting. From version 0.5 onwards, however, you should NOT edit this file or manually compile with ghc --make. All you have to do is edit xmonad.hs and restart with mod-q; xmonad does the recompiling itself. The format of the configuration file also changed with version 0.5; enabling simpler and much shorter xmonad.hs files that only require listing those settings which are different from the defaults.

While the complicated template.hs (man/xmonad.hs) files listing all default settings are still provided for reference, once you wish to make substantial changes to your configuration, the template.hs style configuration is not recommended. It is fine to use top-level definitions to organize your xmonad.hs, but wherever possible it is better to leave out settings that simply duplicate defaults.

# A simple example

Here is a basic example, which starts with the default xmonad configuration and overrides the border width, default terminal, and some colours:

   --