When comparing dwm vs herbstluftwm, the Slant community recommends dwm for most people. In the question“What are the best window managers for Linux?” dwm is ranked 5th while herbstluftwm is ranked 17th. The most important reason people chose dwm is:
Dwm is part of the [suckless suite of tools](http://suckless.org/), and encourages users to extend and configure it by modifying the code itself. To this end, dwm is kept under 2000 SLOC, and is an exemplar of clean, readable code (C). This, while giving users all the flexibility they could ask for, also makes dwm as lightweight as possible, and means that users have a full understanding of how it works.
Ranked in these QuestionsQuestion Ranking
Pro Encourages user modification
Dwm is part of the suckless suite of tools, and encourages users to extend and configure it by modifying the code itself. To this end, dwm is kept under 2000 SLOC, and is an exemplar of clean, readable code (C). This, while giving users all the flexibility they could ask for, also makes dwm as lightweight as possible, and means that users have a full understanding of how it works.
Pro Simple and small
Dwm is a low-resource window manager that is entirely simplistic in design.
Pro Easy to configure
Configuring dwm is straight-forward thanks to its config.h file (though it will have to be rebuilt for the effects to take place).
Pro Default keybindings and functionality are very useful and well thought-out
An example of this is the application of alt-tab to switch between two tags.
Pro Application grouping with tags
Dwm's design paradigm is to use tags to group clients (applications) that can then be pulled into a view (workspace); this allows you to view multiple clients at once and to assign or reassign those tags and their related views on the fly.
Contrary to most other window managers, when you view a tag you are not ‘visiting’ a workspace: you are pulling the tagged windows into a single workspace.
Combined with rules in the
config.h, this makes for a flexible and responsive means to manage your workflow.
Pro Useful and informative status bar
The dwm status bar can be set to display all kinds of useful information, such as volume level, wifi signal strength, and battery notification.
Pro XRandR/Xinerama support
Dwm has support for XRandR and Xinerama, allowing for multi-monitor support.
Pro Can be reconfigured from the command line while it's still running
Configuration of herbstluftwm can be done live in the command line, so no booting in and out of the desktop is necessary.
Pro Offers a combination of manual and automatic tiling
Users can set up auto-tiling per app, or they can change any application to manual tiling to where they want on the screen.
Pro Uses a simple bash script for configuration
The configuration file for herbstluftwm is a bash script and is easily configurable.
Pro Highly customizable
Different layouts can be used in different frames on the same workspace, so the user can customize their layout to their liking on the fly.
Pro Great multi-monitor support
Herbstluftwm has built-in multi-monitor support that can customize to any size desired on the screen. This implies that the user is not held back by being forced to use each monitor's size.
Con No runtime config file
There is no config file that can be edited after the window manager is compiled: all changes need to be made prior to compiling.
Con By developers, for developers
Basic knowledge of C language, general programming, and compilation are all required.
Con No single window floating
The user cannot use floating for dialogs or anything else without making the entire workspace float. Their only choice is pseudo tiling.
Con No system tray
There is no system tray support in herbstluftwm. In that case, users who wish to have one must use an external application.