xmonad
xmonad
|
|
---|---|
xmonad in tiling mode |
|
Basic data
|
|
developer | Spencer Janssen, Don Stewart, Jason Creighton |
Publishing year | March 6, 2007 |
Current version |
0.15 ( September 30, 2018 ) |
operating system | all POSIX compatible, requires X Window and GHC |
programming language | Haskell |
category | Window manager |
License | BSD |
http://www.xmonad.org/ |
xmonad is a window manager for the X Window System . It is written in the functional programming language Haskell .
In March 2007, xmonad was introduced as a tiling- based window manager. It therefore organizes the displayed windows like tiles so that they do not overlap. In addition, the developers endeavored to create a graphical user interface in which users can work productively with the windows without using the mouse . Many Linux distributions ship xmonad directly through their package management systems and it is also available for FreeBSD , NetBSD , OpenBSD , and macOS .
properties
Originally, xmonad was based on dwm in terms of functionality and operation , for example in terms of the preset key assignment. However, it now includes features that are not available to dwm users. These are, for example, a layout that can be configured for each desktop environment , tile reflection, storage of the state, mirroring of the layout and Gnome support and status bars for each screen (X abstraction). It can be customized by editing an external configuration file that can be reloaded during operation.
Extensions for the core system, such as the emulation of other window managers and unusual layout algorithms such as window division based on the Fibonacci spiral , have been implemented by the community and are available as a library .
In addition to the focus on doing without the mouse, the xmonad developers often use semi- formal methods and program derivation to increase reliability and reduce the number of source code lines . With version 0.7 this was reduced to less than 1200 and window manager settings such as the behavior of the focus are now controlled by the Haskell QuickCheck library . This focus makes xmonad unusual in several ways. It is also the first window manager that the zipper - data structure uses to automatically organize the focus.
xmonad makes use of Haskell features and tools such as QuickCheck, GHC extensions such as pattern guards , monads , monad transformers , zippers, and the Cabal package system, as well as Haskell bindings to Xlib and xft fonts. There are plans to rebind to XCB when the Haskell bindings are released. Its core has been checked for security in terms of pattern matching , which further contributes to reliability.
influence
Xmonad's innovations have also influenced other tiling-based window managers. Dwm took over “urgency hooks” from xmonad and has been supporting Xinerama (for multi-head systems) since release 4.8. There is also a patch inspired by xmonad , which adds two layouts to dwm, which arrange windows according to the Fibonacci sequence .
Individual evidence
- ↑ Initial import. Xmonad / xmonad @ b2c1430 .
- ↑ Release 0.15 . September 30, 2018 (accessed October 1, 2018).
- ^ Keyboard-Driven Environments Open a New Window . OSnews. May 31, 2007. Retrieved May 31, 2007.
- ↑ xmonad 0.4 Released . OSnews. October 19, 2007. Retrieved December 23, 2007.
- ↑ By a combination of quick recompilation and subsequent execution of the new xmonad binary file by exec ; see Haskell Weekly News: April 27, 2007 . Haskell Weekly News. April 27, 2007. Archived from the original on May 29, 2007. Retrieved on May 23, 2007.
- ↑ xmonad users cause significant traffic in IRC -Channel #xmonad ( Memento of 29 December 2007 at the Internet Archive ) and on the xmonad mailing list; There is also a significant number of commits to the extension library from non-core devs (see xmonad's statistics page )
- ↑ xmonad: Contributed code . xmonad.org. May 22, 2007. Retrieved May 23, 2007.
- ↑ http://www.haskell.org/haskellwiki/Zipper
- ^ "Does xmonad crash? On proving pattern coverage in xmonad with catch “ ; "Preconditions on XMonad" ; see also "Detecting pattern-match failures in Haskell" (PDF; 160 kB)
- ↑ See the developer discussion on the dwm mailing list
- ↑ Suckless.org: Fibonacci layouts patch to dwm
literature
- Don Stewart, Janssen, Spencer: [ XMonad: A Tiling Window Manager ( Memento of April 10, 2011 in the Internet Archive ) XMonad: A Tiling Window Manager .] In: Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshop . September 2007, p. 119. ISBN 978-1-59593-674-5 . doi : 10.1145 / 1291201.1291218 . Retrieved January 21, 2013.
- Association for Computing Machinery archive
- Presentation of a paper (video; .mov ; 116 MB)
Web links
- xmonad.org - official site
- "Xmonad - tiling window manager" - use xmonad on Ubuntu
- "Taste of Haskell" (PDF; 7.1 MB) - OSCON presentation by Simon Peyton Jones about
- Haskell Communities and Activities Report - 13th edition; XMonad
- Don Stewart demo ( MOV ; 116 MB)