summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README46
1 files changed, 33 insertions, 13 deletions
diff --git a/README b/README
index ee5a77a..258886f 100644
--- a/README
+++ b/README
@@ -1,17 +1,36 @@
- xmonad : a lightweight X11 window manager.
-
-Motivation:
-
- dwm is great, but we can do better, building a more robust,
- more correct window manager in fewer lines of code, using strong
- static typing. Enter Haskell.
-
- If the aim of dwm is to fit in under 2000 lines of C, the aim of
- xmonad is to fit in under 500 lines of Haskell with similar functionality.
+ xmonad : a lightweight X11 window manager.
+
+ http://xmonad.org
+
+About:
+
+Xmonad is a minimalist tiling window manager for X, written in Haskell. Windows
+are managed using automatic layout algorithms, which can be dynamically
+reconfigured. At any time windows are arranged so as to maximise the use of
+screen real estate. All features of the window manager are accessible purely
+from the keyboard: a mouse is entirely optional. Xmonad is configured in
+Haskell, and custom layout algorithms may be implemented by the user in config
+files. A principle of Xmonad is predictability: the user should know in advance
+precisely the window arrangement that will result from any action.
+
+By default xmonad provides three layout algorithms: tall, wide and fullscreen.
+In tall or wide mode, windows are tiled and arranged to prevent overlap and
+maximise screen use. Sets of windows are grouped together on virtual screens,
+and each screen retains its own layout, which may be reconfigured dynamically.
+Multiple physical monitors are supported via Xinerama, allowing simultaneous
+display of a number of screens.
+
+By utilising the expressivity of a modern functional language with a rich
+static type system, Xmonad provides a complete, featureful window manager in
+less than 500 lines of code, with an emphasis on correctness and robustness.
+Internal properties of the window manager are checked using a combination of
+static guarantees provided by the type system, and type-based automated
+testing. A benefit of this is that the code is simple to understand, and easy
+to modify.
Building:
- Get the dependencies
+Get the dependencies
mtl http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl-1.0
X11 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.2
@@ -21,7 +40,8 @@ Building:
unix http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.0
(included with ghc)
- dmenu 2.{5,6,7} http://www.suckless.org/download/dmenu-2.7.tar.gz
+ dmenu 2.* http://www.suckless.org/download/dmenu-2.7.tar.gz
+ (optional)
And then build with Cabal:
@@ -29,7 +49,7 @@ And then build with Cabal:
runhaskell Setup.lhs build
runhaskell Setup.lhs install
-Then add:
+Finally, add:
exec /home/dons/bin/xmonad