You are here: Home / Open Source Projects / libexo
Tuesday, 2017-03-28

About libexo

libexo is the extension library for Xfce developed by os-cillation. While Xfce mainly contains libraries primarily targeted at desktop development, libexo is targeted at application development, with a focus on applications for Xfce.

libexo is already used by three Xfce applications - Terminal, Thunar and Xfmedia. It may be expected that in the future more application developers will develop Xfce applications using libexo.

libexo contains a set of additional widgets (e.g. an icon bar and widgets for automatically ellipsising text) and provides a framework for editable toolbars (an extended version of the framework present in GNOME), a lightweight session management support tool, features to automatically synchronise object properties and many miscellaneous utilities and tools for application development purposes.


Stable releases

Source tarballs and binaries of stable releases are available from the download locations listed below.

Source tarballs:

Binary packages:

Development releases

For those whishing to use the latest bleeding edge features and willing to risk possible instabilities, or those wishing to test recently added code to help with identifying problems and debugging, will gain access to the development versions. Use is at your own risk, and please report any bugs you may find!



Before concentrating on the details of how to install libexo from source, please take into account that binary packages precompiled for your operating system may already be available. Please check the above download locations.

The source package is distributed as bzip2-compressed tarball (.tar.bz2) and as a gzip-compressed tarball (.tar.gz). It is highly recommended to install libexo to the same location as Xfce. For example, if you installed Xfce to /usr/local, you would perform the following steps to build and install libexo:

# bunzip2 exo-X.Y.Z.tar.bz2
# tar xf exo-X.Y.Z.tar
# cd exo-X.Y.Z
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# ./configure --prefix=/usr/local
# make
# make install

Replace X.Y.Z in the above lines with the version of the tarball you downloaded (e.g. 0.2.0).


The API reference manual for exo 0.3.x is available here (the old exo 0.2.x documentation is still available at this location).