From 5b6a01b9a27012a0b45051ea07c32f6879e54cfd Mon Sep 17 00:00:00 2001 From: Don Stewart Date: Wed, 2 May 2007 08:18:59 +0200 Subject: update motivational text using xmonad.org darcs-hash:20070502061859-9c5c1-e6e6c50c174610f5ff7a0438f849fde86ee23739 --- README | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) (limited to 'README') 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 -- cgit v1.2.3