Xfce aims to be fast andlightweight while still visually appealing and easy to use. The desktop environment is designed to embody the traditionalUnix philosophy ofmodularity and re-usability, as well as adherence to standards; specifically, those defined atfreedesktop.org.[6]
Xfce is a highly modular desktop environment,[7] with manysoftware repositories separating its components into multiple packages.[8] The built-in settings app offers options to customize theGTK theme, the systemicons, thecursor, and thewindow manager. Additionally, Xfce provides a fullyGUI-based system for modifying the desktop'sstatus bar andsystem tray.[9]
Xfce is a lightweight desktop environment which omits many of the visually appealing features (such as animations) present in other desktop environments such asKDE Plasma andGNOME. These omissions allow Xfce to run much more smoothly on low-endpersonal computers.[10]
The name was originally written as XFce, as an abbreviation of XForms Common Environment, which referred to theXForms library.[4] However, Xfce has been transformed and is now based entirely on the Xfce Toolkit (GTK).[5] The name was kept, now with lowercase f, but the abbreviation no longer means anything.[4]
The first Xfce release was in early 1997.[14][15][16] However, over time, Xfce diverged from CDE and now stands on its own.
The name Xfce originally stood for “XForms Common Environment”, but since then Xfce has been rewritten twice and doesn't use the XForms toolkit anymore. The name survived, but it is no longer capitalized as “XFCE” and is no longer an abbreviation for anything (although suggestions have been made, such as “X Freakin' Cool Environment”).
Per the FAQ, the logo of Xfce is "a mouse, obviously, for all kinds of reasons like world domination and monsters and such."[17] In theSuperTuxKart game, in which various open source mascots race against each other, the mouse is said to be a female named "Xue".[18]
Xfce began as a simple project created with XForms.Olivier Fourdan released the program, which was just a simpletaskbar, onSunSITE.[19]
Fourdan continued developing the project and in 1998, Xfce 2 was released with the first version of Xfce's window manager, Xfwm. He requested the project be included inRed Hat Linux, but it was refused due to its XForms basis. Red Hat accepted only open-source software released under aGPL- or BSD-compatible license, whereas, at the time, XForms was closed-source and free only for personal use.[19] For the same reason, Xfce was not inDebian before version 3, and Xfce 2 was distributed only in Debian's contribrepository.[20]
In March 1999, Fourdan began a complete rewrite of the project based onGTK, a non-proprietary toolkit then rising in popularity. The result was Xfce 3.0, licensed under the GPL. As well as being based completely onfree software, it gained GTKdrag-and-drop support, native language support, and improved configurability. Xfce was uploaded toSourceForge.net in February 2001, starting with version 3.8.1.[21]
Xfce 4.0.0Xfce 4.2.2An Xfce 4.4 desktop showcasing various Xfwm effects:drop shadows behind windows,alpha-blended windows and panel
In version 4.0.0, released 25 September 2003, Xfce was upgraded to use theGTK 2 libraries.[22]
Changes in 4.2.0, released 16 January 2005, included acompositing manager for Xfwm which added built-in support for transparency and drop shadows, as well as a new defaultSVG icon set.[23][24]
In January 2007, Xfce 4.4.0 was released. This included theThunar 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, as well as support for multiple panels; previous versions of Xfce could only support one panel in addition to Xftaskbar4 and Xfce4-iconbox. These tools were made available as panel plugins in this version.[25][26]
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.[27]
In January 2011, Xfce 4.8.0 was released. This version included changes such as the replacement of ThunarVFS andHAL withGIO,udev, ConsoleKit andPolicyKit, and new utilities for browsing remotenetwork shares using several protocols includingSFTP,SMB, andFTP. Window clutter was reduced by merging all Thunar file progressdialog 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 supportsRandR 1.2, detecting screens automatically and allowing users to pick their preferreddisplay resolution,refresh rate, anddisplay rotation. Multiple displays can be configured to either work inclone 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.[28]
The 4.8 development cycle was the first to use the new release strategy formed after the "Xfce Release and Development Model" developed at theUbuntu Desktop Summit in May 2009. A new web application was employed to make release management easier, and a dedicatedTransifex server was set up for Xfce translators.[29] The project's server and mirroring infrastructure was also upgraded, partly to cope with anticipated demand following the release announcement for 4.8.[citation needed]
Xfce 4.10, released 28 April 2012, introduced a vertical display mode for the panel and moved much of thedocumentation to an onlinewiki. The main focus of this release was on improving the user experience.[30]
An Xfce 4.12 example desktop running on Fedora 22; notice the file manager has been rewritten in GTK 3.
Xfce 4.12 was released on 28 February 2015,[31] two years and ten months later, contrary to mass Internet speculation about the project being "dead".[32] The target of 4.12 was to improve user experience and take advantage of technologies introduced in the interim. New window manager features include anAlt+Tab dialog, and smart multi-monitor handling. Also, a new power management plugin for the panel'snotification area was introduced, as well as a re-writtentext editor and an enhancedfile manager. Xfce 4.12 also started the transition toGTK 3 by porting application and supporting plugins and bookmarks. With 4.12, the project reiterated its commitment toUnix-like platforms other than Linux by featuringOpenBSD screenshots.[33]
Xfce 4.13 is the development release during the transition of porting components to be fully GTK3-compatible, including xfce-panel[34] and xfce-settings.[35]
The planned release of Xfce 4.14 was announced in April 2016 and was officially released on 12 August 2019.[36] The main goals of the release included porting the remaining core components from GTK 2 to GTK 3; replacing the dependency ondbus-glib withGDBus, GNOME's implementation of the D-Bus specification; and removing deprecated widgets. Major features were postponed for a later 4.16 release.[37] The minimum GTK 3 version was bumped from 3.14 to 3.22.[38]
Xfce 4.16 was released on 22 December 2020.[39] 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 4.18 was released on 15 December 2022.[40] This release mainly focused on new features and improvements to the Thunar file manager including an image preview sidebar, split view, recursive file searching, better mime type handling, per-file color highlighting, undoing up to 10 actions, a recently opened files location, restoring open tabs on startup, and a customizable toolbar. Other changes include a keyboard shortcut editor and merging the date and time plugins.
Xfce 4.20 was released on 15 December 2024.[41] This release mainly focused on restructuring preparing Xfce components forWayland support.[42] As of this release, almost all Xfce components support Wayland and can be used on Wayland via a compatible compositor such as labwc or Wayfire, as Xfwm 4.20 and Xfdashboard 4.20 do not have complete Wayland support yet. As such, the Wayland session of Xfce 4.20 is considered experimental and only recommended for advanced users.
Whisker Menu - an alternate application launcher for Xfce
Applications developed by the Xfce team are based onGTK and self-developed Xfce libraries. Other than Xfce itself, there are third-party programs which use the Xfcelibraries.[43]
Xfce provides a development framework which contains the following components:
exo, an application library for the Xfce desktop environment
garcon, a Freedesktop.org compliant menu library
libxfce4ui, a widgets library for the Xfce desktop environment
libxfce4util, an extension library for Xfce
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 withroot privileges, warning the user that they could damage system files.
Xfce Panel is a highly configurabletaskbar with a rich collection ofplug-ins available for it.[44]
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.[45]
Aterminal 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 replaceGNOME Terminal, which depends on the GNOME libraries. Like GNOME Terminal, though, it is based on the VTE library.[46] Xfce Terminal can be configured to offer a varying background color for each tab.[47] It can also be used as a drop-down terminal emulator, similar toGuake orTilda.[48]
Xfwm is a window manager, supporting custom themes.[49] Starting with version 4.2, Xfwm integrates its owncompositing manager.[50] Work on porting Xfwm to Wayland is planned for a future release, presumably 4.22.[41][42]
A file searching tool, able to perform in-name and in-text matching, as well searching by file type and last modified time. It is also capable of performingindexing by using anmlocate database.[51]
Thunar is the default file manager for Xfce, replacing Xffm. It resembles GNOME'sNautilus, and is designed for speed and a low memory footprint,[52] as well as being highly customizable through plugins. Xfce also has a lightweightarchive manager called Xarchiver, but this is not part of the core Xfce 4.4.0.[53] 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,[54] 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 toOrage (French for "thunderstorm") and several features were added. Orage has alarms and uses theiCalendar format, making it compatible with many other calendar applications, e.g.vdirsyncer to sync viaCalDAV.[55] 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.[56][57]
Mousepad is the defaulttext editor for Xfce in some Linux distributions, includingXubuntu.[58] 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.[59] It closely follows theGTK-system release cycle. It originated as afork ofLeafpad,[60] was developed by Erik Harrison and Nick Schermer, but has since been rewritten from scratch.[61]
Parole is a simple media player based on theGStreamer framework. It is designed with simplicity, speed and resource usage in mind, and is part of the Xfce Goodies[63] and uses at least three libraries from the Xfce project (libxfce4ui, libxfce4util, and libxfconf).[64]
It is similar toGNOME Videos, but it has some advantages and disadvantages compared to it:
Advantages
It has (X11/XShm/Xv) video output that provides a much higher frame rate than Clutter-based video output of GNOME Videos which relies upon OpenGL or OpenGL ES for rendering
Traditional text-based playlist on the main window for both audio and video files which provides an easy and fast switch between the files and shows their time
Animage viewer (supporting slideshow mode). Ristretto can operate on folders of images, and display their thumbnails in addition to the active image.[66]
A screen saver and session-locking program first packaged with the 4.14 release of Xfce. It uses screensaver themes compatible with Xscreensaver.[67] Although forked from MATE Screensaver, it depends only on Xfce libraries.
It is also included as a standard desktop option onFreeBSD and derivatives such asGhostBSD, and in many other Linux distributions not listed above, includingArch Linux,Debian,Gentoo,Ubuntu,openSUSE,Fedora,Linux Mint,Slackware,Mageia,OpenMandriva,Solus OS, andZorin 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.[72][73]
^Kereki, Federico (March 2009)."Xfce: the third man".Linux Journal (179).Archived from the original on 15 August 2022. Retrieved15 August 2022 – viaACM Digital Library.
^ab"FAQ".wiki.xfce.org. 11 March 2017.Archived from the original on 6 October 2015. Retrieved11 September 2017.
^SuperTuxKart Team (15 March 2017)."Discover - SuperTuxKart".supertuxkart.net.Archived from the original on 1 December 2017. Retrieved11 September 2017.
^"Xfce 4.12 tour".xfce.org. Retrieved20 June 2024.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.