summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorDon Stewart <dons@cse.unsw.edu.au>2007-05-02 08:18:59 +0200
committerDon Stewart <dons@cse.unsw.edu.au>2007-05-02 08:18:59 +0200
commit5b6a01b9a27012a0b45051ea07c32f6879e54cfd (patch)
tree41c39164653a875b2b750afdccfbe32f6f5ef56b /README
parent8b4bb3bf2222537364dd454ddaa4eadbeb0bed5c (diff)
downloadmetatile-5b6a01b9a27012a0b45051ea07c32f6879e54cfd.tar
metatile-5b6a01b9a27012a0b45051ea07c32f6879e54cfd.zip
update motivational text using xmonad.org
darcs-hash:20070502061859-9c5c1-e6e6c50c174610f5ff7a0438f849fde86ee23739
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