Part I. Overview

exo is an extension library for Xfce, originally developed by os-cillation. While Xfce comes with quite a few libraries that are targeted at desktop development, libexo is targeted at application developement - in particular, developing applications for the Xfce Desktop Environment.

The exo library depends on the following libraries:


A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.


Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text.


ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. GTK+ widgets have built-in support for accessibility using the ATK framework.


This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images.


GDK is the abstraction layer that allows GTK+ to support multiple windowing systems. GDK provides drawing and window system facilities on X11, Windows, and the Linux framebuffer device.


The GTK+ library contains widgets, that is, GUI components such as GtkButton or GtkTextView.


The Xfce utility library provides various helper functions and classes for C programmers, that aren't directly related to GUI tasks.