Xfce API Documentation
Main Xfce API Documentation Page
The Xfce library documentation may often be installed by distributions in
Core Xfce Libraries
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
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.
The libxfce4ui library is used to share commonly used Xfce widgets among the Xfce applications.
libxfce4util is used to share commonly used non-GTK+ utilities among the Xfce applications.
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 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 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.”
In addition to the above mentioned built-in libraries, Xfce also uses the GTK+/Glib family of libraries.
GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures.
GIO provides a modern and easy-to-use VFS API. It provides a file system abstraction which allows applications to access local and remote files with a single consistent API.
GDK is an intermediate layer which isolates GTK+ from the details of the windowing system.
GTK+ is the primary library used to construct user interfaces in GNOME applications. It provides user interface controls and signal callbacks to control user interfaces.
Xfce Developer Tutorials
General Xfce Development Information
For a general overview on getting involved with Xfce development, see The Ultimate Contributor's Guide to Xfce. This article provides some basic guidelines for Xfce development, fixing bugs, and becoming familiar with the Xfce community.
GTK+ Development Information
Tutorials for getting started with GTK+ are available at:
Xfce plugin Development Information
If you're looking to write a panel plugin, the xfce4-sample-plugin provides a base to get started.