Navigation
Personal tools
 

Edje

This website is deprecated!
Please refer and move articles to: http://trac.enlightenment.org/e/wiki/

Edje is a graphical design and layout library based on Evas that provides an abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations.

In more popular terms, Edje makes every application that uses it "skinable" .

"Edje is an attempt to find a middleground between theming and programming without turning the theme itself into just yet another program".
-- Carsten Haitzler (The Rasterman)

Basic Concepts

An Edje interface file is actually a common Eet file arranged to accommodate interface information, images and fonts into a single, easy to distribute file.

This Eet file is generated by processing an Edje Data Collection file with the Edje Compiler.

At runtime, the application loads the Eet file through the Edje API that automatically generates the Evas objects necessary to display the interface.

Once loaded, the application can interact with the interface by using a series of signals and call-backs and by using a small subset of the Evas API to alter the generated objects.


Resources

  • The Chapter 4 of the guide written by Kostis Kapelonis contains an excellent analysis of Edje.
  • Building Interfaces with Edje by Ben Rockwood, all around edje development introduction (last update in 2003).
  • Redact an Edje compiler that uses ruby code to generate Edje files.
  • The Interface Design Articles category contains a complete list of articles using Edje for interface design and implementation.