Enlightenment Foundation Libraries
Encyclopedia
The Enlightenment Foundation Libraries, or EFL, is a set of open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 graphical software libraries that grew out of the Enlightenment
Enlightenment (window manager)
Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...

 window manager project and is developed by Enlightenment.org with some sponsorship from Samsung
Samsung
The Samsung Group is a South Korean multinational conglomerate corporation headquartered in Samsung Town, Seoul, South Korea...

, Profusion and Free.fr. The project's focus is to make the EFL a flexible yet powerful and easy to use set of tools to extend the capabilities of both the Enlightenment window manager and other software projects based on the EFL. The libraries were created for version 0.17 of the window manager. The libraries are meant to be portable and optimized to be functional even on devices such as PDAs
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

.

Evas

Evas is the EFL canvas library, for creating areas, or windows, that applications can draw on in an X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

. The EFL uses hardware-acceleration where possible to allow it to work faster, but is also designed to work on lower-end hardware, falling back to lower color and quality for graphics if necessary. Unlike most canvas libraries, it is primarily image-based (as opposed to vector-based) and fully state-aware (the vast majority of canvases are stateless, requiring the programmer to keep track of state).

Edje

Edje is a library that attempts to separate the user interface from the application. It allows applications to be skinnable, so that it is possible to change the GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 of an application without changing the application itself. Edje-based applications use files which contain the specifications for the GUI layout that is to be used. Edje themes are contained using EET generated files.

Ecore

Ecore is an event abstraction, and modular convenience library, intended to simplify a number of common tasks. It is modular, so applications need only call the minimal required libraries for a job. Ecore simplifies working with X, Evas, and also a few other things, such as network communications and thread.

Embryo

Embryo implements a scripting language used by other parts of the EFL, such as Edje. The language has a C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

-like syntax, and was based on the SMALL
SMALL
SMALL, Small Machine Algol Like Language, is a programming language developed by Dr. Nevil Brownlee of Auckland University.-History:The aim of the language was to enable people to write ALGOL-like code that ran on a small machine...

 language.

EET

EET is a library that is designed to store and load all type of data, locally or through a network stream. It is designed to be light-weight, efficient and quick. EET forms the basis of theme files in the EFL, i.e. if you want to install a theme for Enlightenment or another themable EFL app, you would be installing an EET-format file, which contains all of the theme graphics and configuration and do not need to be extracted onto the filesystem in order to be used.

It is also the basis for all IPC
Inter-process communication
In computing, Inter-process communication is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared...

 communication and all configuration. Even if it's a binary file format, it is possible to dump/undump it on the fly to see what's going from a human point of view.

Eina

Eina is the base library of all data types used by the EFL. It is designed to reduce CPU use as much as possible without using too much memory. It provides list (and inlined list), hash, red-black tree, shared string, rectangle, array, iterator and accessor, memory pool, module, fixed point and magic check helper.

The library itself is small and could easily be used without any other EFL libraries.

Ethumb

Ethumb is a library for creating thumbnails of many types of images, designed to be compliant with freedesktop.org's Thumbnail Managing Standard. Epsilon supports all of the file formats that Evas supports, including PNG, JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 , TIFF
Tagged Image File Format
TIFF is a file format for storing images, popular among graphic artists, the publishing industry, and both amateur and professional photographers in general. As of 2009, it is under the control of Adobe Systems...

, GIF, etc.

Emotion

Emotion is a library providing video-playing capabilities through the use of smart-objects. Emotion provides several video backends. The best-supported one is libxine, a well-established video-playing library, but gstreamer and vlc backends are also provided. Thus, Emotion supports all of the video formats that video libraries support, including Ogg Theora, DivX
DivX
DivX is a brand name of products created by DivX, Inc. , including the DivX Codec which has become popular due to its ability to compress lengthy video segments into small sizes while maintaining relatively high visual quality.There are two DivX codecs; the regular MPEG-4 Part 2 DivX codec and the...

, MPEG2, etc.

Elementary

Elementary is a widget set
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

 based on the EFL that makes heavy use of Evas and Edje to provide a fast, stable, and scalable library that can be used to create both rich and fast applications that can be used on anything from every day desktop computers to small PDA's and set-top boxes. It is designed to fully expose the capability of the EFL.

EIO

EIO provide asynchronous file system operation, like listing the content of directory, copying and moving directory and files around. It rely on Ecore thread ability and prevent if correctly used any lock in the interface when browsing local file content.

Defunct/deprecated EFL components

  • ETK (Not maintained anymore and job's better done by Elementary)
  • EWL (Not maintained anymore and job's better done by Elementary)
  • EWD (features now added to Ecore)
  • Estyle (features have been absorbed by Etox)
  • Etox (obsolete)
  • Ebits (replaced by Edje)
  • Evoak (dead)
  • Imlib2
  • EDB (replaced by EET)
  • EXML
  • EPEG (feature obsoleted by Evas)
  • Epsylon (replaced by Ethumb)
  • Engrave (feature have been absorbed by Edje)
  • Esmart (Not maintained and job's better done by Elementary)

EFL-based applications

  • engage: an engaging Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    -style taskbar
    Taskbar
    In computing, a taskbar is a bar displayed on a full edge of a GUI desktop that is used to launch and monitor running applications. Microsoft incorporated a taskbar in Windows 95 and it has been a defining aspect of Microsoft Windows's graphical user interface ever since. Some desktop environments,...

  • elicit: a color-picking tool for graphic designer
    Graphic designer
    A graphic designer is a professional within the graphic design and graphic arts industry who assembles together images, typography or motion graphics to create a piece of design. A graphic designer creates the graphics primarily for published, printed or electronic media, such as brochures and...

    s
  • evidence: a file manager
    File manager
    A file manager or file browser is a computer program that provides a user interface to work with file systems. The most common operations performed on files or groups of files are: create, open, edit, view, print, play, rename, move, copy, delete, search/find, and modify file attributes, properties...

     (no longer strictly necessary now that EFM is stable enough to use)
  • entice: an enticing image viewer
  • entrance
    Entrance (display manager)
    In computing, Entrance , usually started with the Entranced display manager, is a display manager for the X Window System designed with the Enlightenment window manager in mind. In other words, it's a program that lets you log in to a computer.It is written using the Enlightenment Foundation...

    : an entrancing login manager
  • express: an instant messaging
    Instant messaging
    Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

     client
  • euphoria: an XMMS2
    XMMS2
    XMMS2 is a new generation of the XMMS audio player. It is a new design, written from scratch, separate from the XMMS codebase...

     front-end
  • erss: a desktop RSS
    RSS (file format)
    RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

     feed reader
  • Enlightenment
    Enlightenment (window manager)
    Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...

    : the X window manager
    X window manager
    An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.Unlike the Mac OS and Microsoft Windows platforms which have historically provided a vendor-controlled, fixed set of ways to control how windows and panes display...

  • examine: an application configuration program
  • iconbar: like engage
  • enotes: a desktop sticky-note program
  • equate: a desktop calculator
  • eke: an RSS
    RSS
    -Mathematics:* Root-sum-square, the square root of the sum of the squares of the elements of a data set* Residual sum of squares in statistics-Technology:* RSS , "Really Simple Syndication" or "Rich Site Summary", a family of web feed formats...

     feed aggregator
  • envision: a video-player front-end
  • elation: a DVD
    DVD
    A DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....

    -player front-end
  • embrace: a mail checker
  • elapse : an enlightenment clock
  • elinguish: a BitTorrent client
    BitTorrent client
    BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...

  • eclips: possibly defunct
  • Exhibit: An EFL/Etk-based image viewer
  • E-Stickies: An EFL/Etk-based sticky notes app
  • Extrackt: An EFL/Etk-based CD ripper and encoder
  • Edje-Editor: An EFL/Etk-based Edje file editor and designer
  • Enity: An Etk-based tool to create quick apps using scripts
  • Canola 2: a multimedia application for Internet tablet
    Internet Tablet
    Nokia Internet Tablets is the name given to a range of Nokia mobile Internet appliances products. These tablets fall in the range between a personal digital assistant and an Ultra-Mobile PC , and slightly below Intel's Mobile Internet device .- Maemo :Nokia Internet Tablets run the Debian...

    s
  • ePeriodique: An Elementary-based periodic table of elements


Most of the above programs are available only in CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

and are not complete or stable.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK