Difference between revisions of "Xmonad"

From HaskellWiki
Jump to navigation Jump to search
(update)
(→‎Documentation: link to ghci tutorial)
(108 intermediate revisions by 26 users not shown)
Line 1: Line 1:
  +
{{xmonad}}
<center>'''xmonad: a tiling window manager'''</center>
 
   
  +
'''xmonad: a tiling window manager'''
'''Home''': http://xmonad.org
 
   
  +
This is the [http://xmonad.org xmonad] users' wiki.
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==
 
   
  +
* [[/Frequently asked questions|FAQ: Frequently Asked Questions]]: answers to common xmonad questions
The current release is 0.3.
 
   
  +
=== Configuration help ===
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.
 
   
  +
* [[/Screenshots|screenshot gallery]]: screenshots contributed by xmonad users illustrating many layouts. show off your own setup!
==Features==
 
  +
* [[/Installing xmonad|installing xmonad]]: platform-specific instructions for how to install xmonad
*Automatic window tiling and management
 
  +
* '''[[/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
*First class keyboard support: a mouse is unnecessary
 
  +
** [[/Config archive|heavily commented template style config file for the latest release of xmonad]]
*Full multihead/Xinerama support
 
  +
** [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.
*XRandR support to rotate, add or remove monitors
 
  +
** [[/General xmonad.hs config tips|general tips and tricks for configuring xmonad.hs]]: (>= xmonad-0.8)
*Per-workspace layout algorithms
 
  +
* desktop environments
*Per-screen non-built in status bars, with arbitrary geometry
 
  +
** [[/Basic Desktop Environment Integration|basic desktop environment integration]] (>= xmonad-0.8)
*Dynamic restart/reconfigure preserving workspace state
 
  +
** [[/Using xmonad in MATE|MATE integration]]
*Tiny code base (~500 lines of Haskell)
 
  +
** [[/Using xmonad in Unity 2D|unity 2d integration]]
*Fast, small and simple. No interpreters, no heavy extension languages
 
  +
** [[/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]]
  +
** [http://wiki.gentoo.org/wiki/Xmonad using xmonad on Gentoo]
  +
=== Tutorials ===
   
  +
* [http://xmonad.org/tour.html guided tour of xmonad for users]
==Changes since the previous version==
 
  +
* [[/Config_archive/John_Goerzen's_Configuration|step-by-step configuration guide including xmobar status bar setup]]
Since 0.1, the following notable features and bug fixes have appeared:
 
  +
* [http://ro-che.info/docs/xmonad/ tutorial in Russian]
  +
* [http://tombuntu.com/index.php/2009/03/17/introduction-to-the-xmonad-tiling-window-manager tombuntu's introduction to xmonad]
  +
* [[/xmonad development tutorial|xmonad development tutorial]]
  +
* [[/Guided tour of the xmonad source|guided tour of the xmonad source]]
  +
* [http://www.youtube.com/watch?v=63MpfyZUcrU video tour of the source]
   
===New features===
+
=== Documentation ===
*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
 
   
  +
* Change log summaries
===Design changes===
 
  +
::[[/Notable changes since 0.11|notable changes since 0.11]]
* Reimplemented core of xmonad with a 'zipper' data type to track focus by construction. We believe this is a first.
 
  +
::[[/Notable changes since 0.10|notable changes since 0.10]]
* Use of Neil Mitchell's 'catch' program to verify pattern match safety
 
  +
::[[/Notable changes since 0.9|notable changes since 0.9]]
* Use of ReaderT and StateT to partition read-only and modifiable values
 
  +
::[[/Notable changes since 0.8|notable changes since 0.8]]
* Custom layout messages handled with open data type simulation
 
  +
::[[/Notable changes since 0.7|notable changes since 0.7]]
* More QuickCheck properties
 
  +
::[[/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
===Bug fixes===
 
  +
* [http://xmonad.org/documentation.html xmonad.org documentation links]
*numlock handling is fixed
 
  +
* [[/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]]
   
  +
===Keybindings cheatsheets===
==Links and other information==
 
  +
Classical ([http://haskell.org/haskellwiki/Image:Xmbindings.svg Inkscape svg version] to modify with your custom bindings):
More information, screenshots, documentation and community resources are
 
available from:
 
   
  +
<gallery>Image: Xmbindings.png</gallery>
http://xmonad.org
 
   
  +
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 is available from [[hackage]], and via [[darcs]]. Happy hacking!
 
   
  +
<gallery>Image: Xmonad_cheatsheet_thumb.png‎</gallery>
==Credits==
 
===The xmonad team===
 
*Spencer Janssen
 
*Don Stewart
 
*Jason Creighton
 
   
  +
=== External documentation ===
===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
 
  +
* [http://wiki.archlinux.org/index.php/Xmonad xmonad on Arch Linux]
[[Category:Applications]]
 
  +
* [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]]

Revision as of 20:08, 8 February 2015

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