xmonad : a lightweight X11 window manager. http://xmonad.org ------------------------------------------------------------------------ About: Xmonad is a tiling window manager for X. Windows are managed using automatic tiling algorithms, which can be dynamically configured. Windows are arranged so as to tile the screen without gaps, maximising screen use. All features of the window manager are accessible from the keyboard: a mouse is strictly optional. Xmonad is written and extensible in Haskell, and custom layout algorithms may be implemented by the user in config files. A guiding principle of the user interface is predictability: users should know in advance precisely the window arrangement that will result from any action, leading to an intuitive user interface. Xmonad provides three tiling algorithms by default: tall, wide and fullscreen. In tall or wide mode, all windows are visible and tiled to fill the plane without gaps. In fullscreen mode only the focused window is visible, filling the screen. Alternative tiling algorithms are provided as extensions. Sets of windows are grouped together on virtual workspaces and each workspace retains its own layout. Multiple physical monitors are supported via Xinerama, allowing simultaneous display of several workspaces. Adhering to a minimalist philosophy of doing one job, and doing it well, the entire code base remains tiny, and is written to be simple to understand and modify. By using Haskell as a configuration language arbitrarily complex extensions may be implemented by the user using a powerful `scripting' language, without needing to modify the window manager directly. For example, users may write their own tiling algorithms. ------------------------------------------------------------------------ Building: Get the dependencies It is likely that you already have some of these dependencies. To check whether you've got a package run 'ghc-pkg list some_package_name' mtl http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl-1.0 (Included with GHC) unix http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.0 (Included with GHC) X11 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.2.2 (Included with GHC) X11-extras: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-extras-0.2 And then build with Cabal: runhaskell Setup.lhs configure --prefix=/home/dons runhaskell Setup.lhs build runhaskell Setup.lhs install --user ------------------------------------------------------------------------ Running xmonad: Add: exec /home/dons/bin/xmonad to the last line of your .xsession or .xinitrc file. ------------------------------------------------------------------------ Other useful programs: For a program dispatch menu: dmenu http://www.suckless.org/download/ or gmrun (in your package system) For custom status bars: dzen http://gotmor.googlepages.com/dzen A nicer xterm replacment, that supports resizing better: urxvt http://software.schmorp.de/pkg/rxvt-unicode.html Authors: Spencer Janssen Don Stewart Jason Creighton