When comparing awesome WM vs dwm, the Slant community recommends awesome WM for most people. In the question“What are the best window managers for Linux?” awesome WM is ranked 2nd while dwm is ranked 5th. The most important reason people chose awesome WM is:
Ranked in these QuestionsQuestion Ranking
Pro Fully extensible with Lua
Pro Highly configurable
Awesome is highly configurable, allowing the user to change anything they see fit in order to make the WM work for them and their workflow.
Pro Tags instead of workspaces
With awesome, clients are organized with tags: one client can be on more than one tag, and multiple tags can be displayed at the same time.
Pro Low latency
Awesome was the first window manager to be ported to use the asynchronous XCB library instead of XLib, making it much more responsive than most other window managers.
Pro Keyboard friendly
Awesome is really keyboard friendly and you can do almost anything with keyboard shortcuts.
Pro Single window, multi-workspace support
The user can have each window visible on one, multiple, or no workspace. You can also temporarily include another workspace in the current one.
Awesome always works as it should: it is very stable and reliable.
Pro Some mouse tiling support
You can rearrange and re-size [some] panels via the mouse.
Pro Good default configuration
By default, you'll have a status bar (hidden in some modes), an application launcher, automatic fullscreen, manual fullscreen shortcut, etc.
Pro Any window can be full screen
Select the window. Hold ALT+SHIFT and press SPACE until the window takes up the entire screen.
Pro Xinerama support
Awesome has real multi-head support via XRandR/Xinerama, with per-screen desktops.
Pro Easy module for useless gaps
Lain module makes useless gaps easy.
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 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 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 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 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.
Con You should have some skills to configure it
Awesome, like most window managers, is targeted at advanced users. Though is has sane defaults and easy to read documentation, it is still a far jump from the more common graphical UIs found in computing.
Con Doesn't have tabbed containers
There is no option to have tabbed containers in awesome window manager.
Con Difficult to google for solutions to problems
Awesome is a very common word, making searches for solutions to problems using Google very time-consuming as a lot of chaff has to be sifted through.
Con Concept of layout sometimes does not fit what you want
The concept of layout sometimes does not fit what you want, for example, if you like the concept of layouts in tmux or in i3 - it works differently here.
Con Some programs don't cooperate well with tiling window managers
The user can usually work around this, but it can be quite annoying at the same time.
Con Regular API breakage
Results in many of the scripts for awesome to be found online end up being outdated.
Con Configuration uses Lua (Programming Language)
It is time-consuming to make changes to configuration. Though Lua is a good language, a plain text file to configure things would seem to be a better approach.
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.