When comparing XMonad vs Moom, the Slant community recommends Moom for most people. In the question“What is the best window manager for Mac?” Moom is ranked 1st while XMonad is ranked 29th. The most important reason people chose Moom is:
Moom comes with many preset keyboard shortcuts. The user can go into the graphical settings of the app and change any one of them to a different combination of keys.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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 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 Efficient to use
XMonad is a very minimal and efficient window manager, especially if the user is familiar with Haskell.
Pro Very stable
Use of Haskell, in conjunction with smart programming practices, guarantees a crash-free experience.
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 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. The documentation in XMonad-contrib is very clear and easy to read.
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 Handles multiple monitors well
XMonad can handle multi-monitor setups by default.
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 Intuitive model which separates "screens" and "workspaces"
XMonad separates screens and workspaces. A screen "projects" a workspace. You can put a window to a specific screen, regardless of which workspace is currently projected onto that screen. This is more intuitive than other WMs e.g. i3, which only has the notion of workspace but not "screen" and requires you to remember workspace numbering. It is especially beneficial for multi-monitor setups.
Pro Extensive documentation
It is sadly a very rare thing among tilling window managers to have comprehensive documentation, Xmonad is the exception to this rule as opposed to those like DWM, and BSPWM.
Pro Friendly community
Especially in comparison to DWM.
Pro Customizable keyboard shortucts
Moom comes with many preset keyboard shortcuts. The user can go into the graphical settings of the app and change any one of them to a different combination of keys.
Pro You can save tiling window position and size
Users can set window position and size themselves, allowing for a great way to set up a tiling window experience.
Pro Windows can be snapped to the edges of the screen
In addition to using the grid or the overlay, Moom can move and zoom windows by dragging them to screen edges.
Pro Simple customization
While you can set keyboard shortcuts, Moom has a very easy-to-use GUI and GUI-based customization features to help you get going right away.
Pro Adds a zoom button for all apps
Moom adds an overlay zoom button to the corner of all apps which allows any app to go full screen or be placed to certain sections of the screen (such as the top, bottom, or sides). This works even on apps that do not normally allow for full screen views.
Pro Multi-monitor support
Moom has excellent support for multi-monitor setups. You can drag a window to the edge of your screen into another monitor and snap it there.
Cons
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 Doesn't play nice with bars other than Xmobar
Though Xmobar is functional enough, it would have been nice to have a full compatibility to polybar, or at least for it to have more options for improving appearance.
Con Fragile haskell toolchain
Because of its very tight dependency on GHC, which doesn't have a stable ABI, trying to use distro-packaged toolchains can be a nightmare.
Con Has no really powerful layout like bspwm does
Although they have one with the same name.
Con Only tiling
No support for stacking.
Con UI for settings can be confusing
The settings for the app are pretty jumbled and are hard to get a grip of, especially for first time users. While all the settings one would need are there, they are difficult to find or understand, which requires a good bit of playing around with the settings in order to get a feel for them and what they offer.
Con Not free
Moom is not free: it costs $9.99.
Con Non customisable popover
The pop over is not customisable and has two presets which are odd for instance two presents are two split windows horizontally.