Enlightenment

The Enlightenment project has three components:

  • Enlightenment 16 (also labelled 0.16, DR 16): a mature window manager for the X11 graphics system
  • Enlightenment 17 (also labelled 0.17, DR 17): a work in progress, with the ambition of being a "desktop shell" - a lightweight desktop environment
  • The Enlightenment Foundation Libraries (EFL): a set of libraries designed for Enlightenment 17. Some of them (notably Imlib 2) are mature libraries that are widely used in other projects.

Enlightenment 17 has been in development for many years, and is still unfinished; however, it is now sufficiently mature to be the default desktop environment for Yellow Dog Linux 5.0 on the Sony Playstation 3 [L1 ].

There are several reasons why Enlightenment 17 and the EFL might be of particular interest to Tclers:

  • they use the BSD License [L2 ]
  • they provide state-of-the-art 2D graphics, including animation, transparency, and theming
  • they try to be lightweight, with useful components placed in EFL libraries that can be re-used by other projects

The Enlightenment Foundation Libraries (EFL) have two particularly interesting components: Evas and Edje. (Just as KDE projects all begin with the letter 'K', so Enlightenment likes the letter 'E'.) Evas is a multi-layer bitmap canvas with transparency and a C API; although a bitmap canvas, it has sophisticated routines for scaling images. Scaling is lossy, unlike with true vector graphics, but is claimed to be of high quality and much faster than a vector-graphics canvas. Evas is used for all display in Enlightenment 17. Edje is a wrapper for Evas, that allows a level of abstraction: the entire GUI can be described in a text file written in a C-like language, and including theming and sophisticated effects such as animation.

Documentation for the EFL is at https://www.enlightenment.org/docs (the colour scheme of this page is poor - the useful links are on the black horizontal bars, and may not be obvious on your screen unless you hover over the links!)

The project's web sites are:

The easiest way to try Enlightenment 17 is to use the Live CD. Binary packages exist for certain Linux distributions [L3 ]. Building from source requires several packages to be built, in the correct order [L4 ], after installing the necessary dependencies.