GSoC/GCI Archive
Google Summer of Code 2009

The Enlightenment Project

Web Page:

Mailing List:

The Enlightenment Project is an open source project dedicated to providing advanced graphical libraries, tools, and environments. Currently, the project is made up of three different components: Enlightenment DR16, Enlightenment DR17, and the Enlightenment Foundation Libraries. While we are best known for the Enlightenment Window Manager itself, there is a long history of providing advanced libraries and tools to support the window manager and other applications, such as Imlib, Imlib2, and FnLib, which extend far beyond the window manager itself in scope. Presently, in development towards the DR17 Desktop Shell, we have created an entirely new set of libraries and tools that provide more power and flexibility than any other group of graphical libraries available: the Enlightenment Foundation Libraries. These libraries offer such functionality as an X11 canvas library (Evas), X11 abstraction layer (Ecore), and an canvas based interface layout library (Edje) that allows separation of interface and application logic (thus making every application that uses it "skinable"). These libraries are extremely fast and lightweight. So much so they have been adopted by many other organizations. Most notably, organizations such as Openmoko (, Maemo (, Terrasoft (, the Canola ( project), and more.


  • Enlightenment Compositing A brief description of myself, the project I would like to do for enlightenment during the summer of code 2009 and the reasons why I should be picked.
  • Eupnp – Bringing UPnP support into E The Enlightenment Project currently has no support to the UPnP protocol. The actual market is increasingly deploying UPnP-enabled devices, such as set top boxes, media players, routers, firewalls and a whole more. However, these devices are demanding more control tools, named Control Points. This project's goal is to implement a Control Point library for the Enlightenment Project.
  • exebuf extension for quicksilver/'anything' like functionality My idea is an extension of exebuf to make it a universal tool for searching and selecting files and running them with appropriate programs. As a rough sketch my plan is to provide interfaces for pluggable backend modules to retrieve files via locate or tracker and backends that provide actions to act on files like looking up matching applications that can open a given mimetype or sending them. For the view my idea is to have virtual folders in efm that shows the found candidates to act on.