mirror of
https://github.com/xmonad/xmonad.git
synced 2025-07-29 11:11:53 -07:00
115 lines
4.1 KiB
Plaintext
115 lines
4.1 KiB
Plaintext
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 <i>predictability</i>: 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
|
|
unix http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.0
|
|
X11 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.2.2
|
|
X11-extras: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-extras-0.3
|
|
|
|
And then build with Cabal:
|
|
|
|
runhaskell Setup.lhs configure --prefix=$HOME
|
|
runhaskell Setup.lhs build
|
|
runhaskell Setup.lhs install --user
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Notes for using the darcs version
|
|
|
|
If you're building the darcs version of xmonad, be sure to also
|
|
use the darcs version of X11-extras, which is developed concurrently
|
|
with xmonad.
|
|
|
|
darcs get http://darcs.haskell.org/~sjanssen/X11-extras
|
|
|
|
Not using X11-extras from darcs, is the most common reason for the
|
|
darcs version of xmonad to fail to build.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Running xmonad:
|
|
|
|
Add:
|
|
|
|
$HOME/bin/xmonad
|
|
|
|
to the last line of your .xsession or .xinitrc file.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
XMonadContrib
|
|
|
|
There are various contributed modules that can be used with xmonad.
|
|
Examples include an ion3-like tabbed layout, a prompt/program launcher,
|
|
and various other useful modules. XMonadContrib is available at:
|
|
|
|
0.3 release: http://www.xmonad.org/XMonadContrib-0.3.tar.gz
|
|
|
|
darcs version: darcs get http://darcs.haskell.org/~sjanssen/XMonadContrib
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
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
|