mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 08:30:21 -07:00
88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
== Configuring xmonad ==
|
|
|
|
xmonad is configured by creating and editing the file:
|
|
|
|
~/.xmonad/xmonad.hs
|
|
|
|
xmonad then uses settings from this file as arguments to the window
|
|
manager, on startup. It is also possible to use alternative paths for
|
|
your configuration file; for that, consult
|
|
|
|
man xmonad
|
|
|
|
For a complete example of possible settings see the file:
|
|
|
|
man/xmonad.hs
|
|
|
|
Further examples are on the website, wiki and extension documentation.
|
|
|
|
http://haskell.org/haskellwiki/Xmonad
|
|
|
|
== A simple example ==
|
|
|
|
Here is a basic example, which overrides the default border width,
|
|
default terminal, and some colours. This text goes in the file
|
|
$HOME/.xmonad/xmonad.hs :
|
|
|
|
import XMonad
|
|
|
|
main = xmonad $ def
|
|
{ borderWidth = 2
|
|
, terminal = "urxvt"
|
|
, normalBorderColor = "#cccccc"
|
|
, focusedBorderColor = "#cd8b00" }
|
|
|
|
You can find the defaults in the file:
|
|
|
|
XMonad/Config.hs
|
|
|
|
== Checking your xmonad.hs is correct ==
|
|
|
|
Place this text in ~/.xmonad/xmonad.hs, and then check that it is
|
|
syntactically and type correct by loading it in the Haskell
|
|
interpreter:
|
|
|
|
$ ghci ~/.xmonad/xmonad.hs
|
|
GHCi, version 6.8.1: http://www.haskell.org/ghc/ :? for help
|
|
Loading package base ... linking ... done.
|
|
Ok, modules loaded: Main.
|
|
|
|
Prelude Main> :t main
|
|
main :: IO ()
|
|
|
|
Ok, looks good.
|
|
|
|
== Loading your configuration ==
|
|
|
|
To have xmonad start using your settings, type 'mod-q'. xmonad will
|
|
then load this new file, and run it. If it is unable to, the defaults
|
|
are used.
|
|
|
|
To load successfully, both 'xmonad' and 'ghc' must be in your $PATH
|
|
environment variable. If GHC isn't in your path, for some reason, you
|
|
can compile the xmonad.hs file yourself:
|
|
|
|
$ cd ~/.xmonad
|
|
$ ghc --make xmonad.hs
|
|
$ ls
|
|
xmonad xmonad.hi xmonad.hs xmonad.o
|
|
|
|
When you hit mod-q, this newly compiled xmonad will be used.
|
|
|
|
== Where are the defaults? ==
|
|
|
|
The default configuration values are defined in the source file:
|
|
|
|
XMonad/Config.hs
|
|
|
|
the XConfig data structure itself is defined in:
|
|
|
|
XMonad/Core.hs
|
|
|
|
== Extensions ==
|
|
|
|
Since the xmonad.hs file is just another Haskell module, you may import
|
|
and use any Haskell code or libraries you wish. For example, you can use
|
|
things from the xmonad-contrib library, or other code you write
|
|
yourself.
|