|Original author(s)||Olivier Fourdan|
|Developer(s)||Free software community|
4.16 / 22 December 2020
|Written in||C (GTK)|
|License||GPL, LGPL, BSD|
Xfce aims to be fast and lightweight while still being visually appealing and easy to use. Xfce embodies the traditional Unix philosophy of modularity and re-usability. It consists of separately packaged parts that together provide all functions of the desktop environment, but can be selected in subsets to suit user needs and preference. Another priority of Xfce is adherence to standards, specifically those defined at freedesktop.org.
Like GNOME, Xfce is based on the GTK toolkit, but it is not a GNOME fork. It uses the Xfwm window manager, described below. Its configuration is entirely mouse-driven, with the configuration files hidden from the casual user. Xfce does not feature any desktop animations, but Xfwm supports compositing.
Olivier Fourdan started the project in 1996 as a Linux version of the Common Desktop Environment (CDE), a Unix desktop environment that was initially proprietary and later released as free software. However, over time, Xfce diverged from CDE and now stands on its own. The name "XFCE" was originally an acronym for "XForms Common Environment", but since that time it has been rewritten twice and no longer uses the XForms toolkit. The name survived, but it is no longer capitalized as "XFCE", but rather as "Xfce". The developers' current stance is that the initialism no longer stands for anything specific. After noting this, the FAQ on the Xfce Wiki comments "(suggestion: X Freakin' Cool Environment)". The Slackware Linux distribution has nicknamed Xfce the "Cholesterol Free Desktop Environment", a loose interpretation of the initialism.
Per the FAQ, the logo of Xfce is "a mouse, obviously, for all kinds of reasons like world domination and monsters and such." In the SuperTuxKart game, in which various open source mascots race against each other, the mouse is said to be a female named "Xue".
Fourdan continued developing the project and in 1998, Xfce 2 was released with the first version of Xfce's window manager, Xfwm. He requested to have the project included in Red Hat Linux, but was refused due to its XForms basis. Red Hat only accepted software that was open source and released under either a GPL or BSD compatible license, whereas, at the time, XForms was closed source and free only for personal use. For the same reason, Xfce was not in Debian before version 3, and Xfce 2 was only distributed in Debian's contrib repository.
In March 1999, Fourdan began a complete rewrite of the project based on GTK, a non-proprietary toolkit then rising in popularity. The result was Xfce 3.0, licensed under the GPL. Along with being based completely on free software, the project gained GTK drag-and-drop support, native language support, and improved configurability. Xfce was uploaded to SourceForge.net in February 2001, starting with version 3.8.1.
In version 4.0.0, released 25 September 2003, Xfce was upgraded to use the GTK 2 libraries. Changes in 4.2.0, released 16 January 2005, included a compositing manager for Xfwm which added built-in support for transparency and drop shadows, as well as a new default SVG icon set. In January 2007, Xfce 4.4.0 was released. This included the Thunar file manager, a replacement for Xffm. Support for desktop icons was added. Also, various improvements were made to the panel to prevent buggy plugins from crashing the whole panel. In February 2009, Xfce 4.6.0 was released. This version had a new configuration backend, a new settings manager and a new sound mixer, as well as several significant improvements to the session manager and the rest of Xfce's core components.
In January 2011, Xfce 4.8.0 was released. This version included changes such as the replacement of ThunarVFS and HAL with GIO, udev, ConsoleKit and PolicyKit, and new utilities for browsing remote network shares using several protocols including SFTP, SMB, and FTP. Window clutter was reduced by merging all Thunar file progress dialog boxes into a single dialog. The panel application was also rewritten for better positioning, transparency, and item and launcher management. 4.8 also introduced a new menu plugin to view directories. The 4.8 plugin framework remains compatible with 4.6 plugins. The display configuration dialog in 4.8 supports RandR 1.2, detecting screens automatically and allowing users to pick their preferred display resolution, refresh rate, and display rotation. Multiple displays can be configured to either work in clone mode, or be placed next to each other. Keyboard selection was revamped to be easier and more user-friendly. Also, the manual settings editor was updated to be more functional.
The 4.8 development cycle was the first to use the new release strategy formed after the "Xfce Release and Development Model" developed at the Ubuntu Desktop Summit in May 2009. A new web application was employed to make release management easier, and a dedicated Transifex server was set up for Xfce translators. The project's server and mirroring infrastructure was also upgraded, partly to cope with anticipated demand following the release announcement for 4.8.
Xfce 4.10, released 28 April 2012, introduced a vertical display mode for the panel and moved much of the documentation to an online wiki. The main focus of this release was on improving the user experience.
Xfce 4.12 was released on 28 February 2015, two years and ten months later, contrary to mass Internet speculation about the project being "dead". The target of 4.12 was to improve user experience and take advantage of technologies introduced in the interim. New window manager features include an Alt+Tab dialog, and smart multi-monitor handling. Also, a new power management plugin for the panel's notification area was introduced, as well as a re-written text editor and an enhanced file manager. Xfce 4.12 also started the transition to GTK 3 by porting application and supporting plugins and bookmarks. With 4.12, the project reiterated its commitment to Unix-like platforms other than Linux by featuring OpenBSD screenshots.
The planned release of Xfce 4.14 was announced in April 2016 and was officially released on 12 August 2019. The main goals of the release included porting the remaining core components from GTK 2 to GTK 3; replacing the dependency on dbus-glib with GDBus, GNOME's implementation of the D-Bus specification; and removing deprecated widgets. Major features were postponed for a later 4.16 release. The minimum GTK 3 version was bumped from 3.14 to 3.22.
Xfce 4.16 was released on 22 December 2020. Some notable changes in this release include new icons with a more consistent color palette; improved interfaces for changing system settings; various panel improvements like animations for hiding, a new notification plugin with support for both legacy SysTray and modern StatusNotifier items, and better support for dark themes; and more information included in the About dialog.
Xfce provides a development framework which contains the following components:
One of the services provided to applications by the framework is a red banner across the top of the window when the application is running with root privileges, warning the user that they could damage system files.
Many aspects of the panel and its plug-ins can be configured easily through graphical dialogs, but also by GTK style properties and hidden Xfconf settings.
A terminal emulator is provided as part of the Xfce project, but it can be used in other X Window System environments as well. It supports tabs, customizable key bindings, colors, and window sizes. It was designed to replace GNOME Terminal, which depends on the GNOME libraries. Like GNOME Terminal, though, it is based on the VTE library. Xfce Terminal can be configured to offer a varying background color for each tab. It can also be used as a drop-down terminal emulator, similar to Guake or Tilda.
Thunar is the default file manager for Xfce, replacing Xffm. It resembles GNOME's Nautilus, and is designed for speed and a low memory footprint, as well as being highly customizable through plugins. Xfce also has a lightweight archive manager called Xarchiver, but this is not part of the core Xfce 4.4.0. More recently, Squeeze has been started as an archive manager designed to integrate better into the Xfce desktop, and though no releases have been made since 2008, the git repository of squeeze has been active and this version is more feature-rich than the last stable release.
Starting with version 4.4, Xfcalendar was renamed to Orage (French for "thunderstorm") and several features were added. Orage has alarms and uses the iCalendar format, making it compatible with many other calendar applications, e.g. vdirsyncer to sync via CalDAV. It also includes a panel clock plugin and an international clock application capable of simultaneously showing clocks from several different time zones. With Xfce 4.16, and the dropping of GTK2 support for panel plugins, orage was replaced with DateTime plugin.
Mousepad is the default text editor for Xfce in some Linux distributions, including Xubuntu. Mousepad aims to be an easy-to-use and fast editor, meant for quickly editing text files, not a software development environment or an editor with a large plugin ecosystem. It does offer tabbed files, syntax highlighting, parentheses matching and indentation features commonly found in software editors. It closely follows the GTK-system release cycle. It originated as a fork of Leafpad, developed by Erik Harrison and Nick Schermer, but has since been rewritten from scratch.
Parole is a simple media player based on the GStreamer framework. It is designed with simplicity, speed and resource usage in mind, and is part of the Xfce Goodies and uses at least three libraries from the Xfce project (libxfce4ui, libxfce4util, and libxfconf).
It is similar to GNOME Videos, but it has some advantages and disadvantages compared to it:
An image and slideshow viewer. Ristretto operates on folders of images, displaying thumbnails along with the active image.
A CD/DVD burning program. Starting with the 4.12 release of Xfce, Xfburn is also able to burn Blu-ray discs.
A screen saver and session-locking program first packaged with the 4.14 release of Xfce. It uses screensaver themes compatible with Xscreensaver. Although forked from MATE Screensaver, it depends only on Xfce libraries.
|Orage||Graphical calendar||With XFCE 4.16 Orage was replaced by new DateTime plugin|
|Parole||A front-end for the GStreamer framework|
|Xfburn||Optical disc authoring supports CD/DVD/BRD|
|Xfce4-appfinder||Application finder for Xfce4|
|Xfce4-mixer||A volume control plugin for the Xfce Panel and a standalone sound mixer application||Uses GStreamer as a backend|
|xfce4-notifyd||A simple, visually-appealing notification daemon for Xfce that implements the Freedesktop.org Desktop Notifications Specification|
|Xfce4-power-manager||PC power management program|
|Xfce4-session||Xfce4 Session Manager|
|Xfwm||X window manager||With optional compositing|
It is the default desktop environment in the following Linux distributions:
It is also included as a standard desktop option on FreeBSD and in many other Linux distributions not listed above, including Antergos, Arch Linux, Debian, Ubuntu, openSUSE, Fedora, Kali, Korora, Linux Mint, Slackware, Mageia, OpenMandriva, Void Linux and Zorin OS. Kali Linux also uses Xfce as the desktop environment when running on the ARM platform. Debian makes a separate netinstall CD available that installs Xfce as the default desktop environment. In 2013, Debian briefly made it the default environment, replacing GNOME.
All but one of those screenshots were taken on machines running OpenBSD -current, a good proof that Xfce is still portable and friendly to all Unix systems.