While originally a clone of dwm (derivative in areas such as default keybindings), xmonad now supports features not available to dwm users[8][9] such as per-workspace layout, tiling reflection, state preservation, layout mirroring, GNOME support and per-screen status bars; it can be customised by modifying an external configuration file and 'reloaded' while running.
In 2023 the man page stated: By utilising the expressivity of a modern functional language with a rich static type system, xmonad provides a complete, featureful window manager [...], with an emphasis on correctness and robustness.
Internal properties of the window manager are checked using a combination of static guarantees provided by the type system, and type-based automated testing.
This demonstration presents the case that software dominated by side effects can be developed with the precision and efficiency we expect from Haskell by utilising purely functional data structures, an expressive type system, extended static checking and property-based testing.
[22] In 2012, How-To Geek described xmonad as having good, but complex, ability to be configured,[23] and it was included in a 2013 list of eight desktop environments for Linux.
[25] A high level of customisation and speed were noted by Network World,[4] and in MakeUseOf xmonad was reviewed positively compared to Openbox.