Difference between revisions of "Xmonad"

From HaskellWiki
Jump to navigation Jump to search
(Adding contents of spence Janssens May 30 note)
 
(105 intermediate revisions by 24 users not shown)
Line 1: Line 1:
  +
{{xmonad}}
<center>'''xmonad: a tiling window manager'''</center>
 
   
  +
'''xmonad: a tiling window manager'''
Xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. All features of the window manager are accessible from the keyboard: a mouse is strictly optional, greatly increasing productivity in X.
 
==Description==
 
   
  +
This is the [http://xmonad.org xmonad] users' wiki.
The current release is 0.2.
 
   
  +
* [[/Frequently asked questions|FAQ: Frequently Asked Questions]]: answers to common xmonad questions
Xmonad is written and extensible in Haskell, and custom layout algorithms, and other extesions, may be implemented by the user in config files. Layouts may be applied dynamically, and separate layouts can be used on each workspace. 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.
 
   
  +
=== Configuration help ===
==Features==
 
*Automatic window tiling and management
 
*First class keyboard support: a mouse is unnecessary
 
*Full multihead/Xinerama support
 
*XRandR support to rotate, add or remove monitors
 
*Per-workspace layout algorithms
 
*Per-screen non-built in status bars, with arbitrary geometry
 
*Dynamic restart/reconfigure preserving workspace state
 
*Tiny code base (~500 lines of Haskell)
 
*Fast, small and simple. No interpreters, no heavy extension languages
 
   
  +
* [[/Screenshots|screenshot gallery]]: screenshots contributed by xmonad users illustrating many layouts. show off your own setup!
==Changes since the previous version==
 
  +
* [[/Installing xmonad|installing xmonad]]: platform-specific instructions for how to install xmonad
Since 0.1, the following notable features and bug fixes have appeared:
 
  +
* '''[[/Config archive|config archive]]''': a collection of xmonad.hs files from real, live xmonad users -- feel free to read them for ideas, use or adapt them as you see fit, or upload your own
  +
** [[/Config archive|heavily commented template style config file for the latest release of xmonad]]
  +
** [http://code.haskell.org/xmonad/man/xmonad.hs template config file for the development (darcs) version of xmonad]
  +
** [[/General xmonad.hs config tips|general tips and tricks for configuring xmonad.hs]]: (>= xmonad-0.8)
  +
* desktop environments
  +
** [[/Basic Desktop Environment Integration|basic desktop environment integration]] (>= xmonad-0.8)
  +
** [[/Using xmonad in Gnome|gnome integration]]
  +
** [[/Using xmonad in Unity 2D|unity 2d integration]]
  +
** [[/Using xmonad in KDE|kde integration]]
  +
** [[/Using xmonad in XFCE|xfce integration]] -- needs updating
  +
** [[/Using xmonad in LXDE|lxde integration]]
  +
** [[/Using xmonad on Apple OSX|apple osx integration]]
  +
** [[/Config archive/Running multiple xsessions at once|Running multiple xsessions at once]]
  +
* OS-specific instructions
  +
** [[/Using xmonad on OLPC XO|olpc xo tips]]
  +
** [http://wiki.archlinux.org/index.php/XMonad using xmonad on Arch Linux]
  +
** [[/Using xmonad in Ubuntu|using xmonad in Ubuntu]]
   
===New features===
+
=== Tutorials ===
*XRandR support, for dynamically adding, removing or rotating monitors
 
*State-preserving dynamic restart
 
*Popup, customisable status bar support
 
*Multiple clients may appear in the master pane
 
*mod-shift-j/k, to swap windows with their neighbours
 
*mod-n, to resize windows
 
*User-specified layout algorithms may be written in config files
 
*All layouts may be 'mirrored' (rotated)
 
*configurable window border size and colour
 
   
  +
* [http://xmonad.org/tour.html guided tour of xmonad for users]
===Design changes===
 
  +
* [[/Config_archive/John_Goerzen's_Configuration|step-by-step configuration guide including xmobar status bar setup]]
* Reimplemented core of xmonad with a 'zipper' data type to track focus by construction. We believe this is a first.
 
  +
* [http://ro-che.info/docs/xmonad/ tutorial in Russian]
* Use of Neil Mitchell's 'catch' program to verify pattern match safety
 
  +
* [http://tombuntu.com/index.php/2009/03/17/introduction-to-the-xmonad-tiling-window-manager tombuntu's introduction to xmonad]
* Use of ReaderT and StateT to partition read-only and modifiable values
 
  +
* [[/xmonad development tutorial|xmonad development tutorial]]
* Custom layout messages handled with open data type simulation
 
  +
* [[/Guided tour of the xmonad source|guided tour of the xmonad source]]
* More QuickCheck properties
 
  +
* [http://www.youtube.com/watch?v=63MpfyZUcrU video tour of the source]
 
===Bug fixes===
 
*numlock handling is fixed
 
   
  +
=== Documentation ===
==Links and other information==
 
More information, screenshots, documentation and community resources are
 
available from:
 
   
  +
* Change log summaries
http://xmonad.org
 
  +
::[[/Notable changes since 0.11|notable changes since 0.11]]
  +
::[[/Notable changes since 0.10|notable changes since 0.10]]
  +
::[[/Notable changes since 0.9|notable changes since 0.9]]
  +
::[[/Notable changes since 0.8|notable changes since 0.8]]
  +
::[[/Notable changes since 0.7|notable changes since 0.7]]
  +
::[[/Notable changes since 0.6|notable changes since 0.6]]
  +
* [http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Doc-Extending.html overview of xmonad-contrib extensions plus how to edit configuration] -- needs updating
  +
* [http://xmonad.org/documentation.html xmonad.org documentation links]
  +
* [[/Key codes|links to key code listings]]
  +
* [[/Mutable state in contrib modules or xmonad.hs|mutable state in contrib modules or xmonad.hs]]
  +
* [[/startup|How xmonad startup works]]
   
  +
===Keybindings cheatsheets===
Xmonad is available from [[hackage]], and via [[darcs]]. Happy hacking!
 
  +
Classical ([http://haskell.org/haskellwiki/Image:Xmbindings.svg Inkscape svg version] to modify with your custom bindings):
   
  +
<gallery>Image: Xmbindings.png</gallery>
==Credits==
 
===The xmonad team===
 
*Spencer Janssen
 
*Don Stewart
 
*Jason Creighton
 
   
  +
Alternative cheatsheet ([http://julien.vaubourg.com/files/xmonad_cheatsheet.pdf PDF], [http://julien.vaubourg.com/files/xmonad_cheatsheet.png PNG], [http://julien.vaubourg.com/files/xmonad_cheatsheet.svg SVG]):
===Other contributers===
 
  +
Xmonad has also received patches from Alec Berryman, Chris Mears, Daniel Wagner, David Glasser, David Lazar, David Roundy, Joe Thornber, Miikka Koskinen, Neil Mitchell, Nick Burlett, Robert Marlow, Sam Hughes, Shae Erisson
 
  +
<gallery>Image: Xmonad_cheatsheet_thumb.png‎</gallery>
[[Category:Applications]]
 
  +
  +
=== External documentation ===
  +
  +
* [http://wiki.archlinux.org/index.php/Xmonad xmonad on Arch Linux]
  +
* [http://xmonad.org/manpage.html xmonad manpage]
  +
* [http://xmonad.org/intro.html introduction to xmonad]
  +
* [http://xmonad.org/press.html blog articles about xmonad]
  +
* [http://xmonad.wordpress.com xmonad blog feed]
  +
  +
[[Category:XMonad]]
  +
  +
[[Image:xmonad-lambdacat.jpg|right|300px]]

Revision as of 02:42, 29 January 2013

Xmonad-logo-small.png

XMonad


xmonad: a tiling window manager

This is the xmonad users' wiki.

Configuration help

Tutorials

Documentation

  • Change log summaries
notable changes since 0.11
notable changes since 0.10
notable changes since 0.9
notable changes since 0.8
notable changes since 0.7
notable changes since 0.6

Keybindings cheatsheets

Classical (Inkscape svg version to modify with your custom bindings):

Alternative cheatsheet (PDF, PNG, SVG):

External documentation

Xmonad-lambdacat.jpg