The xclass library is a C++ GUI toolkit for the X windows environment. It is Xlib-based and consists of a set of components, ranging from simple widgets to complex ones, including also many of the commonly used dialog boxes. The components have the MS Windows-95/98 look and feel.
Everything started shortly after hacking fvwm into fvwm95. I was busy morphing the FvwmWinList module into FvwmTaskBar, when a person named D. Barth posted a note on the fvwm mailing list announcing a ready taskbar module for fvwm. I contacted him immediately and after a short e-mail interchange we decided to do some work together in order to make fvwm95 more Windows-like. We were also encouraged by the amount of people that started downloading fvwm95 and sent patches, bugfixes and improvements.
In order to make fvwm95 more Windows95-like, we needed to have a minimum number of applications: an explorer-like file manager, a desktop manager, a Notepad-like editor and configuration tools. But writing an X application is not quite an easy task, specially when dealing with Xlib directly. Normally there are toolkits that are supposed to simplify the job, and since we did not wanted to start writing the n-th X toolkit, we started looking at the options available. At that time there was no KDE and no Gnome, no gtk, the Qt library was very recent and the look was not suitable, not to mention license limitations. Tcl/tk looked promising, but it was slooooow and had a Motif look. The Athena toolkit was kind of obsolete, messy to use, and had a ugly look (the Xaw95 hack appeared later).
After some time, we finally went to the idea of writing our own toolkit library. We chose C++ as the programming language, and the goal was to have a library (of course LGPL'ed) that implemented a minimum number of widgets and other facilities that would ease the development of new applications with Windows-95 look and feel. We also wanted it to be compatible with the current X standards (ICCCM, Motif, CDE, and so on...), to be easily expandable, fast and small.
That's how xclass was born. At first it was named xclass95, since it was meant to be some sort of companion to fvwm95, but we quiclky decided to make it an independent project. With the time other people started using the library to write applications, more programmers joined the effort, and it became a more ambitious project.
The xclass libary has been involved in other projects: until recently it was part of the fOX Project (the default About dialog widget still shows the logo), and it was also used to implement many of the GUI classes of the ROOT project (the TG* set of classes, for example).
With so many free programming libraries and X toolkits around, why would one want to use xclass? Like any other toolkit, the xclass library provides certain advantages and disadvantages for the application programmer.Advantages:
The xclass library include classes that implement widgets, manipulate fonts, graphic contexts, top-level windows, simple and composite frames, event dispatching, message passing, window layout management, drag-and-drop (Xdnd version 4 compatible), pixmap caching, etc. The following set of widgets are currently implemented:
See some screenshots here.
The primary distribution site is at ftp://mitac11.uia.ac.be/pub/xclass, and since Sept 24, 2001 it is also on SourceForge. Don't forget to look for the applications.
Page last updated: May 16, 2003.