When comparing XMonad vs Gala, the Slant community recommends XMonad for most people. In the question“What are the best window managers for Linux?” XMonad is ranked 3rd while Gala is ranked 6th. 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 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 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 Handles multiple monitors well
XMonad can handle multi-monitor setups by default.
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.
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 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 Beautiful, uniformly designed, and sleek
Gala is designed to be unimposing while still remaining functional and pleasant to look at. By following the elementary OS design guidelines, Gala maintains a very consistent look.
Pro Easy for Linux beginners who are coming from legacy OSs
Gala has limited configurability which keeps things simple.
Pro Hotcorners give shortcuts for multitasking, window management, or custom commands
User-configurable hotcorners means power users get four super easy shortcuts for multitasking, window management, or custom commands.
Pro Integrated compositing manager allows for fancy effects and animations
The Gala compositing manager allows for effects and animations to be used on a window by window basis.
Pro Works with Gtk client-side decorations
The current bets of elementary OS (Freya) has enabled the use of Gtk client-side decorations.
Pro Dynamic workspace management
Workspaces are added and removed on the fly so you only have as many as you need at any given time.
Pro Innovative multitasking
Gala takes some hints from mobile OSes, but handles multitasking in a powerful way designed for desktop. Workspaces and alt-tabbing work well and are familiar, but feel smoother than alternatives.
Pro Extremely fast
Gala works well on limited-resource hardware, e.g older netbooks and Chromebooks.
Pro Excellent stability
Despite the current stable release only being on version 0.2, it is very stable.
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 Hard to install on some distros
While Elementary OS has Gala built-in, it might be difficult to set it up on certain distributions because it's tailored to Elementary OS only. Arch, for example, only supports Gala via AUR at the moment.
Con Limited configurability
Configuration options are few and far between and require editing settings with dconf editor.
Con Not very lightweight
Although it certainly does not eat up CPU or RAM, it is not as lightweight on resource usage as awesome, i3, openbox, for instance. This shouldn't really be a surprise however.
Con Buggy with nVidia Graphics
It's fantastic with the Intel integrated graphics; however, it is not good on nVidia ones
Con Does not render well under AMD graphics
The underlying compositor is know to have issues with AMD graphics cards, leading to poor performance, stuttering, and graphical artifacts.