When comparing XMonad vs Fluxbox, the Slant community recommends XMonad for most people. In the question“What are the best window managers for Linux?” XMonad is ranked 3rd while Fluxbox is ranked 7th. 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 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 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 Handles multiple monitors well
XMonad can handle multi-monitor setups by default.
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 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 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 Easy to use and configure
Fluxbox has its own panel, as well as a way to set a wallpaper, which makes it easy to use out of the box. Configuring Fluxbox to one's liking is easily done by simply editing text files.
Pro Ultra lightweight
Works FAST on any system.
Pro Simple mouse-driven menus
By simply right-clicking on the desktop, the user can pull up the root menu.
Pro Easy key binding
You can quickly and easily bind keyboard events to applications and wm events.
Pro It's easy to find many new styles and configuration options
Fluxbox has many great themes and config options that are ready for download and installation. In addition to this, there is great documentation on how one can make their own themes or edit their own configs to their liking.
Pro No programming language knowledge required
In order to manage and edit Fluxbox settings and menus, the user does not require programming knowledge.
Pro Styles (themes) are easy to manage, create, and change
Simple to style and has many styles available. You can also change styles real-time.
Pro Simple tiling support
Automated tiling is optional and configurable by a simple text file.
Pro Menu can stay visible or hidden for quick access to application launching
The Fluxbox menu system is easily configured to the user's liking, whether they want to keep it hidden or visible.
Pro Large user base and excellent online documentation
Fluxbox has an substantial, active user base, and great online documentation.
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 Requires setup of some configuration files
Con Difficult to master
It does take time to learn the ins and outs of all that can be changed by editing the configs. It can also take some time to finally attain a configuration that is perfect. Many users constantly change and edit their settings, but consider this part of the joy of using Fluxbox.
Con Comparatively heavy on system resources
Fluxbox is a bit heavier on system resources when compared to Openbox or other window managers (though it does come with more options as well).