Xfce is one of the most common desktop environments on Linux and other Unix-like systems. it’s fast, lightweight and gets the job done. However, Xfce developers announced their roadmap to Xfce 4.14 around 3 years ago, but we are still not there yet.
In this report, we post the ongoing development of Xfce, what’s missing and what’s being worked on, and we highlight some aspects regarding the adorable DE.
Overview on Xfce Development
Xfce is not developed as a single component, but rather as a set of many different software. It consists of applications like:
- Thunar: The default file manager for Xfce.
- xfwm4: The window manager.
- xfce4-panel: The desktop panel of Xfce, which holds other plugins and applets.
- xfce4-settings: The settings daemon for the desktop environment. Also includes the graphical control center.
- xfce4-power-manager: The power manager made for Xfce.
- xfce4-session: The Xfce session initializer and launcher.
- xfdesktop: The responsible program for managing the desktop icons & background.
- Many graphical Xfce applications like Xfce Terminal, Xfce Mixer, MousePad, Xfburn and others.
- Various panel plugins.
- And a lot of other components.
Xfce versions are numbered in a way that the even versions mark the stable channel (like Xfce 4.8, 4.10, 4.12..), where as the odd versions mark the development channel (like 4.9, 4.11, 4.13..) which are not suitable for production.
The announced Xfce release model consists of 3 main phases: Planning phase, development phase and release phase. In the planning phase, each component’s maintainer announces the features they would like to implement in the upcoming release, and what dependences would be required to implement these features. After it, a long 5-months development phase starts, where each maintainer is free to work on implementing his own features that he announced in the planning phase. Finally, the release phase comes (which lasts for +10 weeks) and all components get multiple freezes and tests by the QA team.
Sadly, this release model doesn’t seem to applied in action; The latest stable of Xfce is 4.12, which was released back in February, 2015 (almost 3 years ago). But according to that release model, Xfce 4.14 should already be out. And it seems that we’ll have to wait many more months for the new version. Why is that?
Xfce 4.14 Current Status
When the Xfce team announced that they’ve started to work on Xfce 4.14, they had the following features in mind to implement for the new release:
- Port everything to GTK+ 3 instead of using the legacy GTK+ 2.
- Use GDbus instead of dbus-lib (for applications communications with each other).
- Use symbolic icons for all the panel plugins.
- Remove deprecated widgets from the code.
The list sounds small and easy from the first sight, however, the Xfce team & contributors have been struggling over years to complete the GTK+ 3 port. Right now, more than 95% of all the main Xfce components are ported to GTK+ 3:
But, there are many Xfce applications which are still with no maintainer to even start porting them. These are:
- Orage: A calendar application made for Xfce desktop.
- Squeeze: An archive manager for Xfce.
- Xfbib: A BibTeX file editor.
- Xfburn: The burning application for Xfce (to burn images on CDs, DVDs..).
- xfce4-volumed: Volume daemon.
- Xfmpc: A graphical MPD interface.
As for the Xfce panel plugins, half of them are still not completely ported to GTK+ 3 yet.
Talking about bug reports, there are 118 open bugs in Xfdesktop, 119 in Xfce4-session, 206 in Xfce4-settings, 70 in Xfce4-power-manager, 390 in Xfce4-panel, 334 in Thunar, around 500 in Xfwm4 and hundreds of others in various smaller tools/goodies. Of course, not all of these should be fixed before the release or resolved, but they should at least be checked once in the release phase, which would add extra delay to 4.14 too.
Xfce’s situation is a bit concerning because by the time Xfce 4.14 is out, GTK+ 4 could already be released as stable. Also, Xfce didn’t move a single step in the direction toward Wayland. And with the speed of the current development, the good DE could lack a lot behind.
This could be due to the fact that the Xfce team is mainly consisting of 15 different contributors only, who are working on their free time to port these projects and maintain them. Additionally, there’s no corporate interest in Xfce; companies like Red Hat, SUSE or Canonical have few to no contributions at all when it comes to Xfce code. Which is expected since Xfce is not the main DE for these companies’ Linux distributions, and is out of their main business.
Xfce is a valuable addition to the Linux desktop and other Unix-like systems. It is used by many people, and provides a good alternative for people with older hardware or who would like a lighter desktop environment. It would be sad to see it fade by time.
How to Help?
The Get Involved page at Xfce website is a good place to start. If you are someone who knows GTK+ with C, and knows how to port applications from GTK+ 2 to GTK+ 3, then you would be more than a valuable addition to the project. Simply pick the project you would like to start working on and say hello on the mailing list. Even if you are a user, you can help testing, translating, designing and maintaining a lot of stuff according to your knowledge.