Welcome to the Xfce Foundation Classes
The Xfce Foundation Classes is a set of integrated C++ classes for
developing Xfce applications on UNIX-like operating systems such as
Linux. The classes combine the power of GTK+ and the power of C++ into
a state-of-the-art application development framework for the Xfce
Environment. The classes
judiciously use C++ language features to avoid
layering on too much extra C++ complexity. The API is easy to
understand and use, and should feel immediately familiar to most GTK+
programmers. The Xfce Foundation Classes is part of the Xfce project,
and like Xfce it's lightweight, fast and easy to use. Currently there
are three modules, the
core object system and utility library (libxfc_core), the user
library (libxfc_ui) and the Glade XML parser library (libxfc_glade).
The libxfc_core library
The libxfc_core library wraps the GLib object system and selected
objects from the GLib utility library. Essentially, it provides a low
level object system that can be used to build other libraries; libxfc_ui
depends on this library. libxfc_core uses the libsigc++ 2.0 callback
library to implement a typesafe system of signals and slots that makes
using native GObject signals or creating your own signals very easy.
libxfc_core includes a standard string compatible UTF-8 string class,
automatic memory management, several convenient base classes, reference
documentation and several example programs.
The libxfc_ui library
The libxfc_ui library is a user interface toolkit that makes developing GTK+
applications in C++ easy, intuitive and efficient. It provides more
than 420 classes that wrap most of the objects found in the ATK,
libxfc_ui is built on the libxfc_core library so you
don't need to include this library in your application; libxfc_ui will
do that for you. Included is a full set of simple
example programs, a C++ version of the GTK+ widget demonstration
program, an extensive reference manual, several test applications and a
The libxfc_glade library
Glade is a popular GUI builder for GTK+ applications. Using Glade, you
can visually create an application's user interface and save it to a
XML description file (.glade). libglade is a C library that loads and
XML description files at runtime and generates the
appropriate widgets. libxfc_glade is a C++ binding for libglade. It
provides the user with a convenient way to use a Glade generated
interface in a XFC application. And because there is less C++ code to
write it makes XFC application development easier and faster.
Please note that in the newer versions of GTK, the GTK Builder does the
same work, but are build into GTK+, and is ofcause wrapped in XFC to.
Why program in C++?
Over the years application programming has become more complex. Today,
C++ is a better way the manage that complexity because it provides you
with a variety of programming designs, both object-oriented and
conventional, that let you develop high-quality applications easily.
Properly used, C++ code is easily maintainable, is extensible, and can
be performance and memory efficient.
The latest development release of the Xfce Foundation Classes is version 4.6.0.