wiki:Documentation/EFL

Enlightenment Foundation Libraries (EFL)

EFL is a set of fast and light GUI libraries created during the development of Enlightenment E17 desktop environment.

It is a primary GUI toolkit for OpenInkpot. All the OpenInkpot applications, unless there are serious objections, are to use EFL.

Getting EFL

Gentoo

layman -a enlightenment && emerge x11-wm/enlightenment

builds the current E17 from svn (see also  http://en.gentoo-wiki.com/wiki/E17). Note: You need the latest SVN versions (-9999), the snapshot versions are too old. You'll also need media-libs/libextractor for MadShelf.

Debian, Ubuntu

Recent version of packages is maintained by E17 team:

The line for apt.sources can be found at  http://packages.enlightenment.org/. Don't forget to add proper key to your system (as descibed on the given webpage).

Now you can install the necessary packages:

apt-get install libedje-dev libefreet-dev

Don't forget to install the usual development packages:

apt-get install build-essential dpkg-dev libtool gettext

For building themes with edje_cc and edje_decc, get libedje-bin:

apt-get install libedje-bin

Other distributions

EFL SVN repository is at  svn.enlightenment.org.

Check out the following modules:

  • eina
  • eet
  • evas
  • ecore
  • efreet
  • embryo
  • edje

Build them in the same order by traditional ./configure && make && make install.

Watch for the configure output: libraries tend to silently disable features which require missing libraries.

Detailed instructions are on  E17 wiki.

Documentation

Basic

Edje (theming engine)

Reference guides

There are reference guides of varying completeness for all EFL components: