This is an old revision of the document!
Xfce API Documentation
Core Xfce Libraries
Exo
Exo is an extension library used in the Xfce desktop, originally developed by
os-cillation. It has some helper applications that are used throughout the entire Xfce desktop to manage preferred applications and edit .desktop
files.
exo is targeted at application development and is considered ready for production use. You no longer need to define the EXO_API_SUBJECT_TO_CHANGE preprocessor symbol.
Garcon
Garcon is an implementation of the freedesktop.org compliant menu specification. It is based on GLib/GIO and aims at covering the entire specification except for legacy menus. It was started as a complete rewrite of the former Xfce menu library called libxfce4menu, which, in contrast to garcon, was lacking menu merging features essential for loading menus modified with menu editors.
libxfce4ui
The libxfce4ui library is used to share commonly used Xfce widgets among the Xfce applications.
libxfce4util
libxfce4util is used to share commonly used non-GTK+ utilities among the Xfce applications.
thunar
thunar is a modern file manager for the Xfce Desktop Environment. Thunar has been designed from the ground up to be fast and easy to use. Its user interface is clean and intuitive and does not include any confusing or useless options by default. Thunar starts up quickly and navigating through files and folders is fast and responsive.
xfce4-panel
xfce4-panel is part of the Xfce Desktop Environment and features application launchers, panel menus, a workspace switcher and more. Many aspects of the panel can be configured through the GUI, but also by GTK+ style properties and hidden Xfconf settings.
xfconf
xfconf is a hierarchical (tree-like) configuration system where the immediate child nodes of the root are called “channels”. All settings beneath the channel nodes are called “properties.”
These libraries are often also installed by distributions in /usr/share/gtk-doc/html/
.
GTK+/Glib Libraries
Additionally, Xfce uses the GTK+/Glib family of libraries which can be found at the following:
Developer Tutorials
Tutorials for getting started with GTK+ are available at:
If you're looking to write a panel plugin, the xfce4-sample-plugin provides a base to get started.