Xfce aims to be fast and lightweight while still being visually appealing and easy to use. It 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 preferences. Another of its priorities is adherence to standards, specifically those defined at freedesktop.org.[3]
Features
User experience
Xfce is a highly modular desktop environment,[4] with many software repositories separating its components into multiple packages.[5] The built-in settings app offers options to customize the GTK theme, the system icons, the cursor, and the window manager. Additionally, Xfce provides a fully GUI-based system for modifying the desktop's status bar and system tray.[6]
Performance
Xfce is a lightweight desktop environment which omits many of the visually appealing features (such as animations) present in other desktop environments such as KDE Plasma and GNOME. These omissions allow Xfce to run much more smoothly on low-end personal computers.[7]
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."[14] In the SuperTuxKart game, in which various open source mascots race against each other, the mouse is said to be a female named "Xue".[15]
Early versions
Xfce began as a simple project created with XForms. Olivier Fourdan released the program, which was just a simple taskbar, on SunSITE.[16]
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 in Red Hat Linux, but it was refused due to its XForms basis. Red Hat accepted only open-source software released under a GPL- or BSD-compatible license, whereas, at the time, XForms was closed-source and free only for personal use.[16] For the same reason, Xfce was not in Debian before version 3, and Xfce 2 was distributed only in Debian's contrib repository.[17]
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. As well as being based completely on free software, it 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.[18]
Modern Xfce
In version 4.0.0, released 25 September 2003, Xfce was upgraded to use the GTK 2 libraries.[19] 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.[20][21] 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.[22] 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.[23]
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.[24]
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.[25] 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 the documentation to an online wiki. The main focus of this release was on improving the user experience.[26]
Xfce 4.12 was released on 28 February 2015,[27] two years and ten months later, contrary to mass Internet speculation about the project being "dead".[28] 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.[29]
Xfce 4.13 is the development release during the transition of porting components to be fully GTK3-compatible, including xfce-panel[30] and xfce-settings.[31]
The planned release of Xfce 4.14 was announced in April 2016 and was officially released on 12 August 2019.[32] 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.[33] The minimum GTK 3 version was bumped from 3.14 to 3.22.[34]
Xfce 4.16 was released on 22 December 2020.[35] 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.[36] 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.
Software components
Applications developed by the Xfce team are based on GTK and self-developed Xfce libraries. Other than Xfce itself, there are third-party programs which use the Xfce libraries.[37]
Development framework
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 with root privileges, warning the user that they could damage system files.
Xfce Panel
Xfce Panel is a highly configurable taskbar with a rich collection of plug-ins available for it.[38]
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.[39]
Xfce Terminal
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.[40] Xfce Terminal can be configured to offer a varying background color for each tab.[41] It can also be used as a drop-down terminal emulator, similar to Guake or Tilda.[42]
Xfwm
Xfwm is a window manager, supporting custom themes.[43] Starting with version 4.2, Xfwm integrates its own compositing manager.[44]
Catfish
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 performing indexing by using an mlocate database.[45]
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,[46] 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.[47] 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,[48] the git repository of squeeze has been active and this version is more feature-rich than the last stable release.
Orage
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.[49] 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.[50][51]
Mousepad is the default text editor for Xfce in some Linux distributions, including Xubuntu.[52] 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.[53] It closely follows the GTK-system release cycle. It originated as a fork of Leafpad,[54] was developed by Erik Harrison and Nick Schermer, but has since been rewritten from scratch.[55]
Parole
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[57] and uses at least three libraries from the Xfce project (libxfce4ui, libxfce4util, and libxfconf).[58]
It is similar to GNOME 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
Showing a banner upon the videos that have multiple audio or subtitle files
Disadvantages
Lacks a mechanism to speed up or slow down the media playback[59]
Lacks many advanced features of GNOME Videos
As of version 1.0.5 (2019–11) it cannot run under Wayland
Ristretto
An image viewer (supporting slideshow mode). Ristretto can operate on folders of images, and display their thumbnails in addition to the active image.[60]
Xfburn
A CD/DVD optical disc authoring software. Starting with the 4.12 release of Xfce, Xfburn is also able to burn Blu-ray discs.
Xfce Screensaver
A screen saver and session-locking program first packaged with the 4.14 release of Xfce. It uses screensaver themes compatible with Xscreensaver.[61] Although forked from MATE Screensaver, it depends only on Xfce libraries.
It is also included as a standard desktop option on FreeBSD and derivatives such as GhostBSD, and in many other Linux distributions not listed above, including Arch Linux, Debian, Gentoo, Ubuntu, openSUSE, Fedora, Kali,[66][67]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.[68][69]
^Kereki, Federico (March 2009). "Xfce: the third man". Linux Journal (179). Archived from the original on 15 August 2022. Retrieved 15 August 2022 – via ACM Digital Library.
^ ab"FAQ". wiki.xfce.org. 11 March 2017. Archived from the original on 6 October 2015. Retrieved 11 September 2017.
^SuperTuxKart Team (15 March 2017). "Discover - SuperTuxKart". supertuxkart.net. Archived from the original on 1 December 2017. Retrieved 11 September 2017.
^"Xfce 4.12 tour". xfce.org. Retrieved 20 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.