What next for the Xfce Project?
![[Xfce logo]](https://static.lwn.net/images/ns/xfce-logo.png)
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 |
Posted May 11, 2006 3:07 UTC (Thu)
by tjc (guest, #137)
[Link] (1 responses)
Posted May 11, 2006 5:51 UTC (Thu)
by botsie (guest, #1485)
[Link]
-- b
Posted May 11, 2006 10:32 UTC (Thu)
by botsie (guest, #1485)
[Link] (2 responses)
http://foo-projects.org/pipermail/xfce4-dev/2006-May/0200...
Posted May 11, 2006 14:12 UTC (Thu)
by tjc (guest, #137)
[Link] (1 responses)
I'm looking for something to replace sawfish, which has been in a semi-maintained state for some years now.
Posted May 11, 2006 14:16 UTC (Thu)
by tjc (guest, #137)
[Link]
http://packages.debian.org/unstable/x11/xfwm4
Posted May 11, 2006 14:47 UTC (Thu)
by dthurston (guest, #4603)
[Link]
Posted May 11, 2006 20:04 UTC (Thu)
by oak (guest, #2786)
[Link] (1 responses)
Posted May 11, 2006 21:15 UTC (Thu)
by Zenith (guest, #24899)
[Link]
This is what is meant by internal and external plugins for the panel.
This is my understanding as someone following the dev-mailinglist but who is not a developer.
What next for the Xfce Project?
The 4.4 release is expected in the next couple of months.
I'm guessing this means Xubuntu 6.06 will ship with a beta version then?
It's going to be a close run thing. The 4.4 release is due "when it's ready". While it would be nice if it gets done in time for Xubuntu 6.06, it isn't really a big priority for us -- Xubuntu is just one amongst numerous linuxes and other unixes that we support.What next for the Xfce Project?
A more detailed listing of whats new in the xfce window manager:UPDATE: A more detailed list of xfwm changes.
Will xfwm run by itself, without the rest of Xfce? What library dependencies does it have?UPDATE: A more detailed list of xfwm changes.
Never mind. :-|UPDATE: A more detailed list of xfwm changes.
XForms
XFCE's dependency on [XForms], a non-free toolkit, prevented many Linux distributions from bundling the desktop.
It's perhaps worth noting that XForms is now free, although it wasn't at the time.
If XFCE really wants to be lighter than Gnome, in addition What next for the Xfce Project?
to having less dependencies, not using Nautilus, Evolution
nor Gnome Terminal, it should by default have the panel
applets as in-process. The per-process memory overhead
for a Gtk program is pretty large.
Regarding text editor, I think Leafpad looks quite nice.
It's as simple as the Windows Notepad and for a programmers'
text editor people will anyway using something else like
Scite, Gedit, Gvim, XEmacs etc.
> If XFCE really wants to be lighter than Gnome, [..] it should What next for the Xfce Project?
> by default have the panel applets as in-process. The
> per-process memory overhead for a Gtk program is pretty large.
Internal plugins (considered stable and part of the Xfce core) runs in the same process as the panel.
External plugins runs in their own process, and cannot crash the panel if the plugin crashes. Creates overhead, correct, but increases the stability of the panel.