When comparing Xfce vs i3, the Slant community recommends i3 for most people. In the question“What are the best window managers for Linux?” i3 is ranked 1st while Xfce is ranked 14th. The most important reason people chose i3 is:
Every feature is thoroughly documented (including examples), and documentation is kept up-to-date. For questions that are not answered by the i3 [user guide](http://i3wm.org/docs/userguide.html), because they concern tools outside of i3 for example, there is the community [question & answer site](https://faq.i3wm.org/).
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 Classic and familiar
Xfce works very much like the classic Gnome & Windows desktops, taskbars (panels) and desktop icons, letting you get your work done without being frustrated.
Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.
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 that I find actually useful.
Pro Fully configurable (including tiling)
One of the biggest attractions of i3 is that it can be configured just about any way the user likes. Ranging from custom keyboard shortcuts to placement of opened apps, it is up to the user as to how they would like their window manager to behave.
Pro Easily switch to and manage floating windows
i3 can allow for the user to manage floating windows. Floating mode can be toggled by pressing $mod+Shift+Space. This way the user can take advantage of tiling as well as floating windows, all in the same session.
Pro Easily readable plain-text configuration
i3 has plain-text configuration, meaning that no lua or haskell is needed. This makes it rather easy to recommend i3 to other people without worrying whether or not they have the knowledge to configure it as it can be read by anyone without prior knowledge.
Pro Can tab windows
i3 permits tabbing through windows by turning on tab mode with $mod+w.
Pro Can stack
i3 allows for stacking of windows in its environment.
Pro RandR support
RandR provides more information about your outputs and connected screens than Xinerama does. To be specific, the code which handled on-the-fly screen reconfiguration (meaning without restarting the X server) was a very messy heuristic approach and most of the time did not work correctly — that is just not possible with the limited information that Xinerama offers (just a list of screen resolutions and no identifiers for the screens or any additional information). Xinerama simply was not designed for dynamic configuration.
Pro Fast, especially on weaker hardware
Tiling means there are no fancy compositing or window effects to take up system resources.
Pro Can be reloaded quickly and configured without a client restart
Just two hot keys: Shift+Super+C to reload the config and Shift+Super+R to restart (which takes less than one second). Restarts pick up new versions of i3 or the updated config file, so you can upgrade to a newer version or quickly see the changes to i3 without quitting your X session.
Pro No window gap
Space is not wasted by separators, therefore making the most of the confined space on smaller monitors.
Pro Sane development process
i3 uses test driven development with an extensive test suite to prevent bugs from ever happening again. All external contributions require a thorough code review to guarantee a certain level of quality.
Pro Terminal bell can be used to notify of completed actions
Terminal-bell gets passed through and marks the workspace visibly.
Pro Awesome multi-monitor support
User can assign specific workspaces to specific displays as well as apps to workspaces. This makes possible opening set of most used apps with 1 shortcut always on the same screens.
Pro Simple to use
Configuration is nearly automatic and simple, which can be really helpful to beginners.
Pro VIM Style key bindings
You can configure i3 so that your keys for moving windows is similar to vim, for example, M-j to move the window down.
Pro Great choice for keyboard users
The user keeps their hands in one spot (most of the time). One will find that the mouse is used less and less, making navigation quicker over time.
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 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 Not a full DE
With a pure Xfce environment you cannot do as much as with Gnome or KDE.
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 Missing "include" possibility in config
While pretty good and easy to use for common tasks, the configuration language is missing the
include directive common in other languages. You can use a workaround - a shell script to config parts on demand. It would be best if this were built-in however.
Con Poor floating window support
Sometimes this is necessary, even when the Dev rejects feature requests. Firefox child windows (option dialog) is an example.
Con No window gap option
You can do a lot with i3 but the official version lacks the option to have gaps between windows. However, there's a fork called i3-gaps that is almost the same as i3 except the fact that it lets you have gaps between windows.
Con Steep learning curve
Has a steep learning curve for beginners.
Con It has some issues with transparency
Using transparent windows can cause them to crash.
Con Not very configurable
Unlike XMonad or Awesome, i3 can't be configured in a turing complete language, so it is much harder to alter its core functionality to do exactly what the user wants.
Con The plain-text configuration may not be suitable for beginners
i3 is configured through a plaintext configuration file. While it's very powerful and easy to learn, it may not be entirely user-friendly for those who have never edited a text configuration.
Con Documentation is online
Can't access it offline unless you download the page.
Con Manual tiling
The layout isn't automatic. The user must move panels manually and may indeed end up spending time on that rather than on working with the application.