When comparing KWin vs dwm, the Slant community recommends dwm for most people. In the question“What are the best window managers for Linux?” dwm is ranked 5th while KWin is ranked 10th. 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 Highly configurable
KWin has a very configurable environment. Just about any option that you would like to adjust will be available in the settings.
Pro Integrated compositing manager
KWin has built-in compositing with options on how it performs that can be changed by the user in the settings.
Pro Beautiful interface
KWin has an assortment of attractive desktop effects, creating a rather beautiful interface.
Pro Offers desktop workflow
In an age where everyone seems to be moving to touch interfaces, KDE remains one of the last DEs that still caters for desktop users.
Pro Window effects
KWin offers an assortment of window effects, such as wobbly windows and window shadows/glow.
Pro Effortless VSync
VSyncing with NVIDIA blobs can be tricky (the dreaded tearing) but with KWin, video and OpenGL games display flawlessly.
Pro Can be configured to be similar enough to Windows so it makes life easier for fresh converts
While kwin is far more powerful, it can be configured to be similar enough to Windows - for people who just changed operating systems and don't really want to learn something new, it works great
Pro Readable code
Much better than any GObject based mess
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 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 XRandR/Xinerama support
Dwm has support for XRandR and Xinerama, allowing for multi-monitor support.
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 Many and unique patches available
Thanks to the small codebase, many users contributed patches to the suckless website. They offer unique functionality, e.g. swallow or fakefullscreen, that is not seen in many other WMs.
Pro Sane defaults
Uses Master&Stack layout by default.
Con Dependent on some KDE libraries
This makes stand-alone KWin somewhat inconvenient to set up, as opposed to openbox and awesome, to name but a few.
Con Some effects are slow and jerky
Some of KWins effects (such as present windows) can be a bit slow or jerky, resulting in uneven fluidity. This is no longer true on modern versions.
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.