When comparing Xfce 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 Xfce is ranked 13th. 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 Low system resource consumption
Not just helpful for older computers where few system resources are available, but also simply for those who want to get the most out of their systems.
Pro Highly customizable
Xfce offers plenty of settings, and even things like theming XFWM is a simple task (it's just a handful of images.)
Many possible permutations of window colors, borders, fonts, etc. Compositing can make it look downright sexy.
Pro Works on a wide variety of platforms
Xfce can be installed on several UNIX platforms. It is known to compile on Linux, NetBSD, FreeBSD, OpenBSD, Solaris, Cygwin and MacOS X, on x86, PPC, Sparc, and Alpha.
Pro Designed for productivity
It loads and executes applications fast, while conserving system resources.
Pro Rock solid stability
Xfce will never be the cause of your crash.
Pro A true UNIX Desktop Environment
Xfce adheres to the UNIX philosophy, which means it strives for being modular, minimal and expandable. This makes it very much customizable. You can make it as minimal as you want and as heavyweight as you want depending on the features and modules/plugins you use.
Pro Adheres to standards
A priority of Xfce is adherence to standards, specifically those defined at freedesktop.org allowing for interoperability and shared technology for X Window System desktops. This interoperability is particularly significant for users looking to, e.g., run alternative window managers.
Pro Does what it's meant to do easily and efficiently
XFCE is a desktop environment first and foremost, it does not waste time being overly flashy or by being bloated with features.
Pro Best for newcomers
Any one new to Linux feels comfortable using it.
Pro Low resource usage combined with flexible configuration
Pro Window manager (XFWM) is a compositing WM by default
By having a compositing WM as the default WM makes way for a lot of visual tweaks and tricks that can and do make Xfce look great. You can adjust the transparency, shadows, borders, etc. and many other advanced tweaks are also available.
Pro Well defined Session Manager
Pro Easy to export or import configurations
Pro Excellent panel management and selection of panel applets
Xfce provides excellent management of panels and a rich selection of panel applets.
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.
Con No HiDPI support
Since Xfce is still based on GTK2 there is no HiDPI support (scaling UI elements).
Con Terrible project infrastructure
The whole project is split across various sites so contributing is really hard. You also need to register on every site separately.
Con Lacks modern design and effects
No support for transparency, effects in opening or closing a file browser, or other effects like cube or cylinder, unlike, say, KDE.
Con Screen tearing issues
The built-in compositor for Xfce does not handle VSync, meaning that it does not address screen tearing for those with Intel integrated graphics. A third party solution will have to be used for those that do want VSync such as using Nvidia proprietary drivers to handle VSync or installing a third party compositor such as Compton.
Con Looks dated
It just looks like a 20 year old desktop in its stock form. However, it is possible for you to to give it a more elegant look using themes, icons and other customizations.
Con Missing some basic functionality for a desktop environment
Xfce is missing essential functionality like a file-archiver or a polkit-client, so you have to find alternatives for those applications (eg: by stealing them from MATE or GNOME, however this adds additional dependencies that will bloat Xfce).
Con Not a full DE
With a pure Xfce environment you cannot do as much as with Gnome or KDE.
Con Looks ugly out of the box
Out of the box, Xfce is the one of the ugliest if not the ugliest DE out there. It definitely can become the most beautiful and gorgeous DE after a bit of tinkering and theming, but the default theme is not that good.
Con Lack of useful tools
Con One pixel wide window borders
The non-configurable, one pixel wide window borders make resizing difficult. Work-arounds exist but those are clunky at best.
Con Sessions cannot be disabled
There is a known bug where sessions keep getting saved involuntarily. So even when you try to clean your saved session it will be reproduced the next time you login.
Con Not good for different users' locales on one system
When you have users with different personal locales, XfcE has problems using the right locale for the right user.
Con Uses many custom GTK widgets
Xfce is using many custom-made GTK widgets(like an custom pathbar, GtkDialog headers, Xfceiconview and more), while this makes it different to other GTK desktops it also breaks certain GTK styles that don't have workarounds for those widgets.
Con Now with Client Side decorations
Recent development versions introduce GNOME-ClientSideDecorations for some Xfce applications. Like on GNOME this breaks the overall consistency of the desktop. Eg: GNOME and some Xfce applicaions will use GNOME based interfaces like CSD's and popovers while the most other will use normal titlebars and popupmenus.
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.