xmonad

from Wikipedia, the free encyclopedia
xmonad

Xmonad-logo.svg
Xmonad-tall-status-dons.png
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.

The xinerama support from xmonad: tiling on three monitors at the same time (with Kinesis keyboard)

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

  1. Initial import. Xmonad / xmonad @ b2c1430 .
  2. Release 0.15 . September 30, 2018 (accessed October 1, 2018).
  3. ^ Keyboard-Driven Environments Open a New Window . OSnews. May 31, 2007. Retrieved May 31, 2007.
  4. xmonad 0.4 Released . OSnews. October 19, 2007. Retrieved December 23, 2007.
  5. 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.
  6. 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 )
  7. xmonad: Contributed code . xmonad.org. May 22, 2007. Retrieved May 23, 2007.
  8. http://www.haskell.org/haskellwiki/Zipper
  9. ^ "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)
  10. See the developer discussion on the dwm mailing list
  11. Suckless.org: Fibonacci layouts patch to dwm

literature

Web links

Commons : Xmonad  - collection of images, videos and audio files