XFCE | |
Logo Size: | 100px |
Logo Alt: | logo XFCE |
Screenshot Alt: | screenshot XFCE with customized panel and whisker menu 4.14 on debian 11 |
Author: | Olivier Fourdan |
Developer: | Free software community[1] |
Programming Language: | C (GTK) |
Middleware: | X Window System, Xorg |
Engine: | GTK |
Operating System: | Linux, FreeBSD, NetBSD, OpenBSD and GNU/Hurd |
Platform: | Unix-like |
Language Count: | at least 31 different |
Genre: | Desktop environment |
License: | GPL, LGPL, BSD |
Xfce or XFCE (pronounced as four individual letters) is a free and open-source desktop environment for Linux and other Unix-like operating systems.
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.[2]
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.[3] It does not feature any desktop animations, but supports compositing.[4]
Olivier Fourdan started the Xfce project in late 1996 as a Linux version of the Common Desktop Environment (CDE),[5] [6] a Unix desktop environment that was initially proprietary and later released as free software.[7] The first Xfce release was in early 1997.[8] [9] [10] However, over time, Xfce diverged from CDE and now stands on its own. The Slackware Linux distribution has nicknamed Xfce the "Cholesterol Free Desktop Environment", a loose interpretation of the initialism.
See also: List of computing mascots.
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".[11]
Xfce began as a simple project created with XForms. Olivier Fourdan released the program, which was just a simple taskbar, on SunSITE.[12]
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.[12] For the same reason, Xfce was not in Debian before version 3, and Xfce 2 was distributed only in Debian's contrib repository.[13]
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.[14]
In version 4.0.0, released 25 September 2003, Xfce was upgraded to use the GTK 2 libraries.[15] 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.[16] [17] 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.[18] 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.[19]
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.[20]
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.[21] 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.[22]
Xfce 4.12 was released on 28 February 2015,[23] two years and ten months later, contrary to mass Internet speculation about the project being "dead".[24] 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.[25]
Xfce 4.13 is the development release during the transition of porting components to be fully GTK3-compatible, including xfce-panel[26] and xfce-settings.[27]
The planned release of Xfce 4.14 was announced in April 2016 and was officially released on 12 August 2019.[28] The main goals of the release included porting the remaining core components from GTK 2 to GTK 3; replacing the dependency on with GDBus, GNOME's implementation of the D-Bus specification; and removing deprecated widgets. Major features were postponed for a later 4.16 release.[29] The minimum GTK 3 version was bumped from 3.14 to 3.22.[30]
Xfce 4.16 was released on 22 December 2020.[31] 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.[32] 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.
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.[33]
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.
Xfce Panel is a highly configurable taskbar with a rich collection of plug-ins available for it.[34]
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.[35]
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.[36] Xfce Terminal can be configured to offer a varying background color for each tab.[37] It can also be used as a drop-down terminal emulator, similar to Guake or Tilda.[38]
Xfwm is a window manager, supporting custom themes.[39] Starting with version 4.2, Xfwm integrates its own compositing manager.[40]
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.[41]
See main article: Thunar.
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,[42] 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.[43] 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,[44] 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.[45] 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.[46] [47]
See main article: Mousepad (software). Mousepad is the default text editor for Xfce in some Linux distributions, including Xubuntu.[48] 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.[49] It closely follows the GTK-system release cycle. It originated as a fork of Leafpad,[50] was developed by Erik Harrison and Nick Schermer, but has since been rewritten from scratch.[51]
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[52] and uses at least three libraries from the Xfce project (libxfce4ui, libxfce4util, and libxfconf).[53]
It is similar to GNOME Videos, but it has some advantages and disadvantages compared to it:
An image viewer (supporting slideshow mode). Ristretto operates on folders of images, displaying thumbnails along with the active image.[55]
A CD/DVD optical disc authoring software. 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.[56] Although forked from MATE Screensaver, it depends only on Xfce libraries.
Components | Descriptions | Notes | |
---|---|---|---|
Catfish | Desktop search | ||
Clipman | Clipboard manager | ||
Mousepad | Text editor | ||
Orage | Graphical calendar | With XFCE 4.16 Orage was replaced by new DateTime plugin | |
Parole | A front-end for the GStreamer framework | ||
Thunar | File manager | ||
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-Panel | Desktop taskbar | ||
Xfce4-power-manager | PC power management program | ||
Xfce4-session | Xfce4 Session Manager | ||
Xfce Screensaver | Screensaver | ||
Xfce-terminal | Terminal emulator | ||
Xfwm | X window manager | With optional compositing |
Xfce is included as one of the graphical user interfaces on the Pandora handheld gaming system.
It is the default desktop environment in the following Linux distributions:
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, Ubuntu, openSUSE, Fedora, Kali,[61] [62] 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.[63] [64]