What next for the Xfce Project?
The project started in 1997 when Olivier Fourdan decided that he wanted a desktop on Linux that resembled the CDE-based HP machines he used at work. Using XForms, a popular X toolkit at the time, he wrote a CDE-like panel to use with fvwm. With obvious ambitions to grow the tool, he called it XFCE: XForms Common Environment. Within a year, he added a window manager based on fvwm to create XFCE 2.
By 1999, XForms was becoming a liability. XFCE's dependency on it, a non-free toolkit, prevented many Linux distributions from bundling the desktop. The XForms-based components were rewritten to use GTK+ for XFCE version 3. The 3.x series continued to grow, attracting developers and adding features like a file manager and a calendar. No longer based on XForms, the project acronym 'XFCE' simply became a name, 'Xfce'.
The release of GTK2 in 2002 prompted a review of the code base. The code had become complex and difficult to maintain. The team decided to rewrite the environment from scratch with modularity as the main goal. The result of this effort, Xfce 4.0, was released in September 2003. Since then the project has averaged one major release a year. It has added features like a calendar, print manager, a session manager and more. It has succeeded in carving out a niche for itself between the large desktops like Gnome and KDE and minimalistic environments like fluxbox. The current stable version is 4.2.3.2. The 4.4 release is expected in the next couple of months.
Arguably, the biggest change in Xfce 4.4 is the introduction of the Thunar file manager. Earlier releases of Xfce used the featureful Xffm file manager. Its quirky tree-based metaphor made it a powerful tool in the hands of those who could conquer the steep learning curve. However, after some debate, the team concluded that Xffm didn't fit the "Small, Fast and Easy To Use" philosophy of Xfce. Thunar, developed by Benedickt Meurer, fit the bill better. Xffm continues to be actively maintained, but is no longer part of the desktop distribution.
Thunar is very responsive and by default has a simple layout modeled on the GTK file chooser. Basic file management is the main focus of the current release. While basic volume management is available, some of Xffm's advanced features like Samba support and archive management have not been implemented. However, a plugin interface makes it possible for third parties to extend Thunar with additional functionality. Plugins are available at xfce-goodies, they add media file management and archive management to Thunar.
The panel has been rewritten to be much more flexible. Previously, a desktop was limited to a single panel. The taskbar and iconbox provided functionality that was very similar to the panel but were completely different codebases. While there was support for panel applets (plugins in Xfce parlance), a misbehaving plugin could crash the panel since they both ran in the same process. The new panel allows for multiple instances. The new plugin API provides for both internal and external plugins. A small selection of plugins is available in the base distribution, including some to replicate the functionality of the old taskbar and iconbox. Many third party plugins are available at xfce-goodies. Plugins are available for everything from checking the weather to checking your mail.
Desktop icons have always been a minor controversy in the Xfce world. While there were persistent demands for them, few in the development team had enough enthusiasm to actually implement them. Desktop icons are finally in Xfce. They can either be used to display CDE-style minimized app icons or, more conventionally, the contents of $HOME/Desktop folder.
There are a large number of smaller changes. For example, the window manager now automatically enables compositing support on accelerated hardware. The calendar, orage, has better support for recurring appointments and is now time zone aware. The print manager now supports LPRng based print backends, CUPS support is already in place. And there is a new keyboard shortcut manager.
Xfce is growing to include things that are not necessarily desktop components. In the current development cycle, a text editor, a terminal emulator and an archive manager have been added to the core distribution. The addition of the archive manager, Xarchiver, is interesting because this the first example of an independent project seeing an advantage in merging with the Xfce project.
Managing increased expectations is probably going to be the next challenge for the Xfce project. The desktop fulfills many of the expectations of a lightweight desktop. The panel, for example, has reached a level of functionality that is comparable to the equivalent apps in Gnome and KDE. The Xfce user community clearly expects the Xfce Desktop to provide a level of functionality, integration and slickness comparable to the larger desktops without sacrificing it's reputation for lightness. While the 4.4 release will be a big step in that direction, the Xfce project will still face the challenge of achieving parity with Gnome and KDE on the efforts of a developer community a fraction of the size.
Biju Chacko is a core developer of the Xfce Desktop
| Index entries for this article | |
|---|---|
| GuestArticles | Chacko, Biju |
