A tiling window manager for X11.
XMonad is a tiling window manager for X11. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard: a mouse is optional. xmonad is written, configured and extensible in Haskell. Custom layout algorithms, key bindings and other extensions may be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens.
This repository contains the xmonad package, a minimal, stable, yet extensible core. It is accompanied by xmonad-contrib, a library of hundreds of additional community-maintained tiling algorithms and extension modules. The two combined make for a powerful X11 window-manager with endless customization possibilities. They are, quite literally, libraries for creating your own window manager.
For installation and configuration instructions, please see:
If you run into any trouble, consult our documentation or ask the community for help.
We welcome all forms of contributions:
- bug reports and feature ideas (also to xmonad-contrib)
- bug fixes, new features, new extensions (usually to xmonad-contrib)
- documentation fixes and improvements: xmonad, xmonad-contrib, xmonad-web
- helping others in the community
- financial support: GitHub Sponsors, Open Collective
Please do read the CONTRIBUTING document for more
information about bug reporting and code contributions. For a brief overview
of the architecture and code conventions, see the documentation for the
XMonad.Doc.Developing
module. If in doubt, talk to
us.
Started in 2007 by Spencer Janssen, Don Stewart and Jason Creighton, the XMonad project lives on thanks to new generations of maintainers and dozens of contributors.