Difference between revisions of "Xmonad"

From HaskellWiki
Jump to: navigation, search
(Adding contents of spence Janssens May 30 note)
 
(add links for changes since 0.12/0.13)
 
(113 intermediate revisions by 27 users not shown)
Line 1: Line 1:
<center>'''xmonad: a tiling window manager'''</center>
 
  +
{{xmonad}}
   
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.
 
  +
'''xmonad: a tiling window manager'''
==Description==
 
   
The current release is 0.2.
 
  +
This is the [http://xmonad.org xmonad] users' wiki.
   
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.
 
  +
* [[/Frequently asked questions|FAQ: Frequently Asked Questions]]: answers to common xmonad questions
   
==Features==
 
  +
=== Configuration help ===
*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
 
   
==Changes since the previous version==
 
  +
* [[/Screenshots|screenshot gallery]]: screenshots contributed by xmonad users illustrating many layouts. show off your own setup!
Since 0.1, the following notable features and bug fixes have appeared:
 
  +
* [[/Installing xmonad|installing xmonad]]: platform-specific instructions for how to install xmonad
  +
* '''[[/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 an example of customizing all settings for the development (darcs) version of xmonad] DON'T USE THIS DIRECTLY; it is the same as <code>import XMonad; main = xmonad defaultConfig</code> except that it prevents you from seeing the result of xmonad upgrades.
  +
** [[/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 MATE|MATE 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]]
  +
** [[/Using xmonad in Lubuntu|using xmonad in Lubuntu]]
  +
** [http://wiki.gentoo.org/wiki/Xmonad using xmonad on Gentoo]
   
===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
 
   
===Design changes===
 
  +
* [http://xmonad.org/tour.html guided tour of xmonad for users]
* Reimplemented core of xmonad with a 'zipper' data type to track focus by construction. We believe this is a first.
 
  +
* [[/Config_archive/John_Goerzen's_Configuration|step-by-step configuration guide including xmobar status bar setup]]
* Use of Neil Mitchell's 'catch' program to verify pattern match safety
 
  +
* [http://ro-che.info/docs/xmonad/ tutorial in Russian]
* Use of ReaderT and StateT to partition read-only and modifiable values
 
  +
* [http://tombuntu.com/index.php/2009/03/17/introduction-to-the-xmonad-tiling-window-manager tombuntu's introduction to xmonad]
* Custom layout messages handled with open data type simulation
 
  +
* [[/xmonad development tutorial|xmonad development tutorial]]
* More QuickCheck properties
 
  +
* [[/Guided tour of the xmonad source|guided tour of the xmonad source]]
 
  +
* [http://www.youtube.com/watch?v=63MpfyZUcrU video tour of the source]
===Bug fixes===
 
*numlock handling is fixed
 
   
==Links and other information==
 
  +
=== Documentation ===
More information, screenshots, documentation and community resources are
 
available from:
 
   
http://xmonad.org
 
  +
* Change log summaries
  +
::[[/Notable changes since 0.13|notable changes since 0.13]]
  +
::[[/Notable changes since 0.12|notable changes since 0.12]]
  +
::[[/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]]
  +
* [[/ghci|Loading xmonad in ghci]]
   
Xmonad is available from [[hackage]], and via [[darcs]]. Happy hacking!
 
  +
===Keybindings cheatsheets===
  +
Classical ([http://haskell.org/haskellwiki/Image:Xmbindings.svg Inkscape svg version] to modify with your custom bindings):
   
==Credits==
 
  +
<gallery>Image: Xmbindings.png</gallery>
===The xmonad team===
 
*Spencer Janssen
 
*Don Stewart
 
*Jason Creighton
 
   
===Other contributers===
 
  +
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]):
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
 
  +
[[Category:Applications]]
 
  +
<gallery>Image: Xmonad_cheatsheet_thumb.png‎</gallery>
  +
  +
=== 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]
  +
* [http://wiki.gentoo.org/wiki/Xmonad xmonad on Gentoo]
  +
  +
[[Category:XMonad]]
  +
  +
[[Image:xmonad-lambdacat.jpg|right|300px]]

Latest revision as of 23:41, 14 June 2017

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.13
notable changes since 0.12
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