Difference between revisions of "Xmonad"

From HaskellWiki
Jump to navigation Jump to search
(update)
(gnome3 can't be integrated any more; switch to mate)
(106 intermediate revisions by 25 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]]
   
  +
=== Tutorials ===
==Changes since the previous version==
 
Since 0.1, the following notable features and bug fixes have appeared:
 
   
  +
* [http://xmonad.org/tour.html guided tour of xmonad for users]
===New features===
 
  +
* [[/Config_archive/John_Goerzen's_Configuration|step-by-step configuration guide including xmobar status bar setup]]
*XRandR support, for dynamically adding, removing or rotating monitors
 
  +
* [http://ro-che.info/docs/xmonad/ tutorial in Russian]
*State-preserving dynamic restart
 
  +
* [http://tombuntu.com/index.php/2009/03/17/introduction-to-the-xmonad-tiling-window-manager tombuntu's introduction to xmonad]
*Popup, customisable status bar support
 
  +
* [[/xmonad development tutorial|xmonad development tutorial]]
*Multiple clients may appear in the master pane
 
  +
* [[/Guided tour of the xmonad source|guided tour of the xmonad source]]
*mod-shift-j/k, to swap windows with their neighbours
 
  +
* [http://www.youtube.com/watch?v=63MpfyZUcrU video tour of the source]
*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===
+
=== Documentation ===
* Reimplemented core of xmonad with a 'zipper' data type to track focus by construction. We believe this is a first.
 
* Use of Neil Mitchell's 'catch' program to verify pattern match safety
 
* Use of ReaderT and StateT to partition read-only and modifiable values
 
* Custom layout messages handled with open data type simulation
 
* More QuickCheck properties
 
 
===Bug fixes===
 
*numlock handling is fixed
 
   
  +
* Change log summaries
==Links and other information==
 
  +
::[[/Notable changes since 0.11|notable changes since 0.11]]
More information, screenshots, documentation and community resources are
 
  +
::[[/Notable changes since 0.10|notable changes since 0.10]]
available from:
 
  +
::[[/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===
http://xmonad.org
 
  +
Classical ([http://haskell.org/haskellwiki/Image:Xmbindings.svg Inkscape svg version] to modify with your custom bindings):
   
  +
<gallery>Image: Xmbindings.png</gallery>
Xmonad is available from [[hackage]], and via [[darcs]]. Happy hacking!
 
   
  +
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]):
==Credits==
 
===The xmonad team===
 
*Spencer Janssen
 
*Don Stewart
 
*Jason Creighton
 
   
  +
<gallery>Image: Xmonad_cheatsheet_thumb.png‎</gallery>
===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
 
  +
=== External documentation ===
[[Category:Applications]]
 
  +
  +
* [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 17:28, 18 October 2014

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