LWN.net Logo

Development

A first look at Xfce 4.8

December 22, 2010

This article was contributed by Joe 'Zonker' Brockmeier.

It's taken far longer than originally expected, but Xfce 4.8 is nearly here. Originally due in April, and then June, the 4.8 release is making slow and steady progress towards a final release. The second preview release (4.8pre2) came out on December 6th and is looking fairly solid. Xfce 4.8 is a modest update, but this release cycle has brought much more than a few features and bugfixes.

Xfce is meant to be a lightweight desktop environment, which is modular and compliant with standards from freedesktop.org. It's popular on Linux, but is meant to be run on just about any Unix-like OS. Xfce uses even version numbers to indicate stable releases, and odd version numbers to indicate development releases — much like GNOME. This is not accidental, since Xfce started using GTK+ and Glib from the GNOME project during the Xfce 3.0 cycle.

The Long Road to Xfce 4.8

[Xfce desktop]

Xfce 4.8 is a relatively minor update on the surface. It doesn't bring extensive user interface changes like GNOME 3.0. But Xfce also has a much smaller developer community, and the 4.8 cycle has been plagued with developers bowing out of the project for one reason or another.

Jannis Pohlmann, one of the Xfce maintainers, addressed the delays in a post on his blog in January. This was not the first time that an Xfce release had been well past the release date. The 4.6 release was also delayed, and wound up being two years in the making when it was released in February 2009.

The developers have been busy. During this release cycle, many of the core components have been rewritten or replaced. For instance, the the Xfce Panel was completely rewritten. The rewrite should provide much better support for users who are working with multi-head setups, as well as better launcher management. HAL and ThunarVFS have been removed or relegated to legacy status, and support for GIO, PolicyKit, and ConsoleKit, and udev have been added.

In addition, Xfce replaced its old UI library (libxfcegui4) with a new library called libxfce4ui. This, of course, required other components to be ported to the new library. And the port to GIO also caused delays. With great changes come great delays in development cycles.

This release cycle also saw a transition to Transifex for Xfce translations. As of August, Xfce had received 4,012 submissions in 45 languages from 101 users in Transifex. Xfce also migrated to Git during the 4.8 development cycle, which probably slowed work a bit and also caused at least one contributor to move their project to Sourceforge rather than having to learn Git.

Finally, the release process underwent a revision to allow sub-projects (like the Thunar file manager, or the panel, window manager, etc.) to release separately. Though this release has been slow in coming, the idea is that future releases will be easier to manage without requiring all components to release simultaneously.

Pohlmann notes that the Xfce development team is "very small," with the news that the maintainer of three core components (xfdesktop, xfconf, and xfce4-session) was leaving due to a new job. Two existing Xfce maintainers stepped up to share responsibility for xfdesktop and xfce4-session, but Pohlmann also notes that his university work was mostly limiting his contribution to communicating about the status of the project, and not much hacking. In short, more developers would be welcome.

So would a little cash. Unlike GNOME or KDE, Xfce is a fairly informal project — and without ready funds to support developer gatherings or any kind of activities. At least for now. In October, Pohlmann announced his intent to form a non-profit for Xfce in Germany. Why Germany? Pohlmann says that it doesn't matter much where it's registered for the purposes of donations and "there are a number of German Xfce contributors and users, so chances are good that there will always be someone to take care of things." The foundation is still in the works, but one hopes it will be finished in the early part of 2011.

In the meantime, there's the 4.8pre2 release, which seems fairly stable now. Source is available as are packages for several distributions.

Using Xfce 4.8

It's been a while since I've spent any time using Xfce, and the first impression is that very little has changed in my absence. The desktop doesn't look any different than I remember it, though testing the packages on Xubuntu it would be easy to mistake Xfce for GNOME 2.x at first glance. To get the full effect, I got rid of the default Xfce configuration and ran the first-run setup wizard. It's hard to believe that this desktop was once a clone of the ugly duckling Common Desktop Environment (CDE).

Xfce is not quite as full-featured as GNOME or KDE, but then again, it's not meant to be. The basic desktop consist of the Xfce panel or panels, the desktop session, the Thunar file manager, and the Xfwm4 window manager. Everything "just works," without really getting in the way. Adding new launchers to the panel, or modifying the panel, works without any problem.

[Xfce menu editor]

One longstanding complaint about Xfce is the lack of a proper menu editor. This release doesn't include a native Xfce menu editor, but it's now possible to use GNOME's Alacarte menu editor to edit the Xfce Panel menu. Whether the Xfce project will whip up its own menu editor at some point seems unclear, but there doesn't really seem to be any need — Alacarte does the job just fine.

Most of the changes in Xfce 4.8 are invisible, or nearly so, to the user. Yes, you can now use Gigolo to easily connect to remote and local filesystems, which is new. No, you really don't want to know why it's called that.

Thunar now has a "Network" item in the side panel, and the Trash icon is optional now. The panel length can be set by the percent of the desktop it should consume, and some improvements have been made for a vertical placement of the panel. Users won't notice, but Xfce now uses ConsoleKit to handle its shutdown or startup. In general, there are lots of minor changes that one has to dig to notice. This is not a bad thing, though. Xfce wasn't in need of radical changes.

The final Xfce 4.8 release is scheduled for January 16, 2011, and it should appear in the next releases of all the major distributions that ship Xfce (Xubuntu 11.04, openSUSE 11.4, Fedora 15, etc.). If you're already using Xfce, there's no rush to upgrade — the changes are subtle enough that most users won't notice them unless a specific bug (or the inability to edit the menus) has been particularly annoying. It does look like a solid, no-frills release, though — and a welcome option for Linux users who want an old-school desktop environment that's fast and relatively light on resources.

Comments (9 posted)

Brief items

Quotes of the week

Branches thus become trees of trees. To visualise this, it's simplest to think of the state of your repository as a point in a high-dimensional 'code-space', in which branches are represented as n-dimensional membranes, mapping the spatial loci of successive commits onto the projected manifold of each cloned repository.
-- Jonathan Hartley; who says git is complicated?

Happily, I noticed, and did a "git reset --hard @{1}" to get things back, but at no point did "git am" warn about the implicit "reset" it did, that threw away non-am state.
-- Linus Torvalds almost loses his high-dimensional code-space

Comments (5 posted)

Android 2.3 code hits the net

The Android 2.3 code is being posted in the Android Open Source Project (AOSP) repositories. It would have been nice to see it while it was under development, but this is far better than nothing. "Even though Nexus S is designed to be suitable for AOSP work, there are some caveats. I very strongly recommend against trying to use Nexus S for anything related to AOSP at the moment. Trying to unlock or use your Nexus S for AOSP work could easily turn it into a Nexus B (where B means 'brick'); I have two of those, they're not very useful."

Comments (7 posted)

libmnl 1.0.0 released

The 1.0.0 release of the libmnl netlink library is available. "libmnl is a minimalistic user-space library oriented to Netlink developers. There are a lot of common tasks in parsing, validating, constructing of both the Netlink header and TLVs that are repetitive and easy to get wrong. This library aims to provide simple helpers that allows you to re-use code and to avoid re-inventing the wheel."

Full Story (comments: none)

Videos from the 2010 LLVM Developers' Meeting

Videos of the talks at the 2010 LLVM Developers' Meeting (held on November 4) are now available. There are talks on Native Client, polyhedral optimizations, libclang, the LLDB debugger, a scripting language called "Crack," and many other topics.

Comments (24 posted)

PostgreSQL 9.0.2, 8.4.6, 8.3.13, 8.2.19, 8.1.23 updates

The PostgreSQL project has released a set of updates with a long list of bug fixes. "Database administrators are strongly encouraged to update at the next available downtime, particularly if using version 9.0, Point-In-Time Recovery or Warm Standby." This is the last 8.1 update, so users should be thinking about migrating to something newer.

Full Story (comments: none)

Scilab 5.3.0 released

Version 5.3.0 of the Scilab numerical computation platform is out. New features included a reworked text editor called SciNotes, a new variable browser and editor, an improved history browser, a parallel_run function which enables proper use of multicore processors, and more; see the "what's new" page for more information.

Comments (none posted)

X11R7.6 released

The X11R7.6 release is available. Changes include udev support on Linux, the XCB C-language binding, much documentation work, split configuration files under xorg.conf.d, and more; interested, sufficiently motivated readers are encouraged to dig through the module changelogs for huge amounts of detail.

Full Story (comments: none)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

GCC and LLVM - What's in a licence? (ITPro)

Here's an ITPro article (obnoxiously split into six parts) comparing GCC and LLVM from a licensing point of view. "In other words GCC is constructed in such a way that those who wish to provide extensions with licences that are incompatible with the GPL and copyleft are persuaded to contribute the software back to the community in the shape of the GPL - and this has been beneficial to the community - in that it has opened up architectures and languages that might not otherwise have been available to other users of GCC."

Comments (4 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds