When comparing XMonad vs KWM, the Slant community recommends XMonad for most people. In the question“What is the best window manager for Mac?” XMonad is ranked 15th while KWM is ranked 24th. The most important reason people chose XMonad is:
XMonad is written, configured, and fully extensible in Haskell. This means that users aren't limited to a small set of pre-programmed layouts and actions: anything can be programmed into the configuration. It's simple to modify basic settings, and the example config has lots of comments to get you started. Haskell keeps this code clean, concise, and readable, and its type system keeps you safe from any serious mistakes. This makes it fast and light, even on very small and slow systems.
Ranked in these QuestionsQuestion Ranking
Pro Fully extensible with Haskell
XMonad is written, configured, and fully extensible in Haskell. This means that users aren't limited to a small set of pre-programmed layouts and actions: anything can be programmed into the configuration.
It's simple to modify basic settings, and the example config has lots of comments to get you started. Haskell keeps this code clean, concise, and readable, and its type system keeps you safe from any serious mistakes. This makes it fast and light, even on very small and slow systems.
Pro Efficient to use
XMonad is a very minimal and efficient window manager, especially if the user is familiar with Haskell.
Pro Edit configuration and reload on-the-fly
Configuration is compiled into the WM, and it can be changed/updated on-the-fly, without requiring a full reload.
Pro Absolutely minimal
The entire window manager is extremely small, and includes nothing beyond basic window manipulation and tiling. Out of the box, there are no window decorations, status bar nor icon dock; just clean lines and efficiency.
Pro Highly configurable
If you enjoy programming, you can even add features to XMonad to make it your perfect desktop environment, and the Contrib modules give you most of what you need to do exactly that.
Pro Very stable
Use of Haskell, in conjunction with smart programming practices, guarantees a crash-free experience.
Pro Handles multiple monitors well
XMonad can handle multi-monitor setups by default.
Pro Great availability of libraries
The use of Haskell as an extension language means that popular pieces of functionality are easily shared and widely available as Haskell Libraries. Many default layouts, and tools for quickly and easily building your own, are available through XMonad-contrib, and highly re-usable configurations are commonly shared through blog articles and the Xmonad Wiki.
Pro Xinerama support
XMonad has full support for Xinerama: windows can be tiled and managed across multiple physical screens.
Pro Dynamic Tiling
XMonad uses dynamic tiling which means that it automatically handles arranging your windows into various layouts which the user can cycle through.
Pro Works in the same way that Xmonad & i3 does for Linux
For those who would like the same tiling window management of Xmonad and i3.
Pro Highly configurable
Using the config file (kwmrc) you can configure a variety of options including Window spacing and padding, borders, hot-key commands, etc... There are those who would say that the possibilities are limitless.
Pro Software is free and open source
Pro Windows respond very fast
Most users claim the tiling and splitting of the windows in KWM respond more quickly and more reliably than the only other known window manager of its type: Amethyst.
Pro Runs in the background
The application runs in the background. There is no indication that it is running except the automatic tiling of the windows. There is no menu bar icon or icon in the dock.
Con Steep learning curve for uninitiated users
Like a lot of tiling window managers, the learning curve for XMonad is quite steep.
Con Requires knowledge of Haskell for configuration
Understanding of Haskell is required in order to configure XMonad.
Con Requires a lot of Haskell dependencies
XMonad depends on GHC (the Glasgow Haskell Compiler) which can take up about 700 MB or disk space.
Con No longer being developed.
Sadly the developer has moved on to work on a different project (Chunkwm), so there will be no more updates for KWM. However the code works well; no matter what version of Mac OS X you are using.
Con Takes long to set up
You need to use the terminal and edit the configuration file in order to adjust it to the way you want. This might be a little confusing for basic users. But once you have it set, you can just copy the config file and use it on a multiple amount of machines.
Con You need HomeBrew to install it
Homebrew is required to install it. Takes more to get it work in the terminal to get it installed and working on your system.