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 188.8.131.52. 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
Database SoftwareThis MySQL 4.1.19 release includes the patches for recently reported security vulnerabilities in the MySQL client-server protocol." has been announced. "This version adds support for the ParamTypes statment handle attribute, and fixes a small bug in ParamValues. It strips the final newline (as it did before) from error messages, so that Perl's die will report the line number of the error. It fixes an error that was causing $dbh->state() to not get set properly in some edge cases. Finally, it adds the ability to quote and bind the geometric types POINT, LINE, LSEG, BOX, PATH, POLYGON, and CIRCLE."
LDAP SoftwareThis is a bugfix release for the stable branch."
Printinghas been announced. "CUPS 1.2.0 is the first stable feature release in the 1.2.x series and includes over 90 new features and changes since CUPS 1.1.23, including a greatly improved web interface and "plug-and-print" support for many local and network printers. For a complete list of changes and new features, please consult the What's New in CUPS 1.2 document".
Web Site DevelopmentZope 3 is the next major Zope release and has been written from scratch based on the latest software design patterns and the experiences of Zope 2. Cleanup of the Zope 3 packages has continued to ensure a flexible and scalable platform. We continued the work on making the transition from Zope 2 to Zope 3 by making Zope 2.10 use even more of the Zope 3 packages. But we're not there yet. **You can't run Zope 2 applications in Zope 3.**"
Audio ApplicationsTwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and portions of LAME."
Data Visualizationhas been announced. "This is a stable release of PLplot. It represents the ongoing efforts of the community to improve the PLplot plotting package. Development releases in the 5.7.x series will be available every few months."
Educational SoftwareOpen Administration for Schools is a GPL'd software package written in perl and uses MySQL or PostgreSQL for data storage. It is entirely web based and uses LaTeX to generate PDF reports. As a result it runs very well on most any Linux distro (I'm an old slackware man, myself)." This version adds a Transcript reporting system, automated attendance scanning with form letters, and gradebook updates.
ElectronicsXCircuit, an electronic schematic drawing package, is out with bug fixes.
GUI Packageshas been announced. "The new version includes improvements such as GUI state storage to file, a new property editor and layout capabilities and more. The sample can be used to rapidly develop database applications without writing a line of code."
Mail ClientsMH-E, the Emacs interface to the MH mail system, has been announced. "Version 8.0 supports GNU mailutils, S/MIME, picons, which-func-mode, sports an improved interface for hiding header fields, improves upon the MH variant detection, improves folder completion, makes the pick search equivalent to the other types of searches, spruces up the tool bar, creates the correct MIME type when including OpenOffice documents, works on a Mac, adds colors to buttons for signed or encrypted messages, incorporates new features introduced in Emacs 22.1, fixes a bunch of bugs, and best of all, comes with an updated manual!"
Music Applicationsan application of the CLAM framework that can be used to visualise, check and modify music information extracted from audio: low level features, note segmentation, chords, structure... The tool is intended to be useful for (though not limited to) the music information retrieval research..." Dino is a MIDI sequencer for GNU/Linux that uses JACK MIDI and JACK transport to send MIDI events to synths and synchronise with other sequencers or transport aware programs. It uses LASH to save and restore sessions. This is the first release."
Video ApplicationsPiTiVi is available for testing. "PiTiVi allows users to easily edit audio/video projects based on the GStreamer framework: Capture audio and video; mix, resize, cut, apply effects to audio/video sources; Render/Save the projects to any format supported by the GStreamer framework. PiTiVi is still in a very early stage of development, and contributions are much welcome."
Web Browsersreports that the first version of the Firefox CCK (Client Customization Kit) has been released. "The Firefox CCK allows people to create an extension that customizes the browser for a particular installation or deployment. Example customizations include adding an indentifier to the user agent string, changing the default home page, title bar text and the animated logo, preinstalling browser plugins and search engines, adding bookmarks, registry keys and certificates."
MiscellaneousPooter is available. The author says: "Pooter is a cross-platform PIM program, which now includes a simple, but fast and powerful thought map. The version 4 series has a completely redesigned interface as well as many new features compared to earlier versions." See the change log file for more details.
Languages and Tools
C++discusses C++ smart pointers on O'Reilly. "C++, with its complex and complete syntax, is a very versatile language. Because it supports object-oriented capabilities and has powerful object libraries--such as the STL or Boost--one can quickly implement robust, high-level systems. On the other hand, thanks to its C roots, C++ allows the implementation of very low-level code. This has advantages but also carries some disadvantages, especially when one attempts to write high-level applications. In this article I describe some common pitfalls that appear when manually managing dynamic memory in C++. This leads me to analyze which possible alternatives exist to avoid them, RAII-modeled classes being a good example. And finally, I present smart pointers and a description of some popular ones."
PHPPHP has been released. "A critical bug with $_POST array handling as well as the FastCGI sapi have been discovered in PHP 5.1.3. A new PHP release 5.1.4 is now available to address these issues. All PHP users are encouraged to upgrade to this release as soon as possible." See the change log for more information.
RubyThe Gemcutter's Workshop is available with new Ruby language information. "It has been another big bi-week, and the pace of the Ruby community is accelerating. The ruby-talk and rails mailing lists are full to overflowing, the ruby-core mailing list is quite active, project announcements seem to pop up on a daily basis, and new resources seem to appear overnight. It's an exciting time to be involved with the language."
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds