# Enlightenment (logiciel)

Enlightenment, aussi appelé E (voire E16, E17, E18 ou E19), est un gestionnaire de fenêtres et un environnement de bureau pour le système d'affichage X Window et Wayland.
C'est un logiciel libre distribué selon les termes d'une licence de type BSD.
Il se distingue des environnements classiques et populaires GNOME et KDE en étant entièrement paramétrable, scriptable et avec une modularité très poussée.
Enlightenment a été conçu pour être utilisé confortablement sur des matériels limités (ex. : téléphone mobile), mais aussi sur les systèmes plus puissants (ex. : ordinateur de dernière génération).
Le projet avance néanmoins relativement lentement, les versions stables sont peu fréquentes et n'apportent pas les lots de nouveautés que les autres environnements populaires proposent. Les dates de sorties tendent tout de même à se rapprocher, après la version E17 qui s'était fait attendre des années, la dernière version, E19, n'est sortie qu'une année après la E18. Le concepteur principal, Rasterman, vise à transformer Enlightenment de gestionnaire de fenêtres (Window Manager) à Desktop Shell. Le développement a été plusieurs fois retardé à cause de nombreuses retouches faites à l'organisation des sources, et Rasterman a plusieurs fois retravaillé de fond en comble le système.
E17 s'appuie sur un jeu de bibliothèques appelées « EFL » pour « Enlightenment Foundation Libraries ».

## Matériels supportés

Enlightenment fonctionne sur différents matériels comme les PC (architecture x86), iMac (x86 ou PowerPC), PS3 (PowerPC), et les téléphones mobiles (architecture ARM).

## Systèmes d'exploitation le proposant

Enlightenment est prévu pour être portable et peut donc être utilisé sur divers systèmes d'exploitation. Dans la pratique, il est essentiellement utilisé par des distributions Linux et BSD.
Enlightenment est donc disponible sur les grandes distributions Linux. Par contre, son intégration avec l'ensemble des applications est plus soignée sur des distributions plus modestes mais conçues autour de cet environnement de bureau.
Voici une liste de distributions actives proposant Enlightenment comme environnement de bureau par défaut :
* Elive est une distribution Linux basée sur Debian supportant Compiz (Ecomorph) ;
* OzOs (en) basée sur Xubuntu, propose également l'environnement de bureau Xfce ;
* Bodhi Linux, basée sur Ubuntu LTS, utilise une version personnalisée d'E17 appelée Moksha ;
Les distributions suivantes semblent ne plus être actives :
* BSDanywhere est une distribution BSD basée sur OpenBSD ;
* Enlightenment live CD/USB (en) est une distribution Linux basée sur OpenSUSE ;
* Elbuntu (es) basée sur Ubuntu, anciennement Ebuntu (nom changé par confusion avec Edubuntu) ;
* OpenGEU distribution d'origine Italienne basée sur Ubuntu, anciennement Geubuntu (nom changé car Canonical Ltd. préfère se garder l'utilisation du suffixe buntu), complète E17 par des éléments Gnome ;
* Arche17 (arche17.org) est une distribution basée sur Arch Linux et utilisant le Kernel Liquorix par défaut ;
* Maryan Linux (es) basée sur Ubuntu, propose en plus les trois autres environnements de bureau LXDE, Fluxbox et Pekwm ;
* moonOS basée sur Ubuntu;
* Unite17 (anciennement PCe17OS) est basée sur Unity Linux (en).
* SHR (en) est une distribution pour le projet OpenMoko qui utilise Illume, un module d'E17 permettant d'adapter l'interface à un mobile ;
* Yellow Dog est une distribution Linux conçue pour le iMac à base de PowerPC et qui maintenant s'installe aussi sur les PS3 ;
* aLinux.

## Un environnement de bureau peu répandu

Bien que Enlightenment soit apparu à la même période que les environnements de bureau KDE et Gnome et qu'il apporte de puissantes capacités graphiques pour une faible consommation des ressources matérielles (mémoire, processeur), cet environnement de bureau n'a jamais percé. Cette section tente d'apporter quelques éléments d'explication.
Une première explication indique que, d'un côté, les utilisateurs cherchant un environnement de bureau puissant et complet optent plutôt pour Gnome ou KDE et s'équipent généralement d'une machine récente. D'un autre côté, les utilisateurs cherchant un environnement de bureau léger préfèrent généralement un environnement de bureau plus simple comme Xfce, LXQt ou i3.
Une seconde explication se base sur le fait que Enlightenment n'est pas un environnement de bureau complet (peu d'applications sont conçues spécifiquement pour EFL). Et donc qu'il est plus simple pour les mainteneurs de distributions de se baser sur des environnements de bureau complets. De même, pour les utilisateurs, Enlightenment peut être considéré comme un simple gestionnaire de fenêtres.
Enfin, une troisième explication se base sur le long cycle de développement de la version DR17 (13 années). Cette absence de version stable officielle ne permet son adoption par les distributions sérieuses.
Le projet Ubuntu est un exemple car depuis de nombreuses années les environnements de bureau légers Xfce et LXQt sont fournis par défaut dans les distributions Xubuntu et Lubuntu respectivement. Mais pas de distribution avec Enlightenment par défaut. En effet, une distribution qui vise les environnements de production et qui maintient des versions LTS (Long Time Support) pendant trois ans se base sur des versions officielles stables.
Un autre exemple est la distribution gOS. Sa première version (2007) utilisait exclusivement Enlightenment (E17). Mais, les versions suivantes (2008) sont passées sur Gnome et Compiz Fusion (consommation accrue en mémoire). Ce changement devait permettre de gagner du temps sur des problèmes matériels. Mais, ce changement a surtout déçu ceux qui avaient choisi gOS pour son adoption de E17.
Un dernier exemple : les premiers netbooks avaient des ressources matérielles limitées. Ces netbooks sous GNU/Linux utilisaient le plus souvent un Gnome configuré pour être léger, mais pas l'environnement Enlightenment.

## Applications spécifiques

L'émulateur de terminal d'Enlightenment par défaut est Eterm. Son développement a commencé en 1999 et est réalise en C, avec comme développeur principal Michael Jennings.

## Précisions techniques
### DR16 ou E16

La version 0.16 (appelée DR16) a été la branche stable d'Enlightenment jusqu'à fin 2012.
Parmi les fonctionnalités, on distingue :
* Les bureaux virtuels - Enlightenment permet d'avoir une grille d'espaces de travail appelés bureaux virtuels. Le changement de bureau se fait en déplaçant le curseur de la souris sur le bord de l'écran, pour lequel le bureau glisse pour révéler le prochain. La taille maximale de la grille est actuellement 8 sur 8, et vous en avez 32 (chacun avec un fond d'écran différent), ce qui fait un total de 2048 espaces de bureaux possibles (les utilisateurs peuvent activer une carte des bureaux, au cas où ils sont perdus, cela s'appelle un pager).
* La barre de glissement du bureau - cela permet à un bureau d'être glissé afin de révéler le bureau « en dessous ». L'équipe de E utilise l'analogie des feuilles de papier, empilées les unes au-dessus des autres, où vous pouvez faire glisser une feuille partiellement pour révéler ce qui se trouve dessous.
* Groupement des fenêtres - la possibilité de mettre des fenêtres dans des groupes de telles manière qu'elles puissent toutes être bougées, redimensionnées, fermées, etc. ensembles.
* Iconification des fenêtres dans une « boîte ». Cette boîte d'icônes peut être placée n'importe où sur l'écran, car est considérée comme une fenêtre.
* Possibilité de changer les bords des fenêtres, ou de retirer complètement les bords et les barres de titre. Enlightenment est en effet réputé pour ses capacités à obtenir un mode de fenêtrage très épuré.
* Possibilité de créer des raccourcis clavier pour les actions telles que maximiser des fenêtres, lancer des programmes, bouger entre les bureaux et bouger le curseur de la souris — ce qui rend possible l'utilisation d'Enlightenment avec seulement un clavier. e16keyedit est un programme graphique permettant de simplifier la création de raccourcis clavier.
Certaines de ces fonctionnalités sont devenues courantes dans les environnements graphiques actuels, mais elles étaient assez révolutionnaires à la sortie d'Enlightenment 0.16.
Un des buts du gestionnaire de fenêtres est d'être aussi configurable que possible, et pour cela, il comprend des fenêtres de dialogues de personnalisation faciles à utiliser pour la configuration du focus, du mouvement des fenêtres, le redimensionnement, le groupement, le placement, l'audio, les bureaux multiples, le fond d'écran, le pager, l'astuce et l'autoraise. Il contient également une fenêtre de dialogues d'effets spéciaux, comprenant un effet de ripple du bureau.

### DR17 ou E17

Le développement de la version 0.17 (DR17) a commencé en 1999 et a duré une décennie. Cette version a finalement été publiée le 21 décembre 2012. Mais depuis de nombreuses années, les jalons officiellement non stables étaient quand même utilisés par de nombreuses distributions (DR16 était déjà délaissée).
Parmi les principales fonctionnalités :
* entièrement personnalisable par l'intermédiaire de thèmes ;
* grille de bureaux virtuels ;
* modulaire : les modules externes se chargent dynamiquement pour gérer la barre des tâches, les ombres des fenêtres, l'horloge… ;
* des shelves (rayonnages) pour organiser les modules sur l'écran ;
* les fonds d'écran, les éléments du menus et les gadgets peuvent être animés et interactifs ;
* raccourcis clavier personnalisables ;
* support pour l'internationalisation ;
* possibilité d'avoir plusieurs bureaux indépendants par écran.

### DR18 ou E18

La version 0.18 (DR18) est publiée le 21 décembre 2013.

### Moksha

Moksha est l'environnement de bureau de la distribution Bodhi Linux. Cette dernière était au départ une version légère d'Ubuntu utilisant Enlightenment, mais les développeurs ont ensuite choisi d'en construire un fork. La version actuelle de Moksha est principalement basée sur E17 mais intègre des éléments d'E19.

### Principaux développeurs

La liste des participants au projet est grande. Les principaux développeurs sont :
* Carsten Haitzler (né en 1975), connu surtout sous le pseudonyme Raster ou Rasterman par la communauté des logiciels libres, est un développeur germano-australien à l'initiative du projet. Il est maintenant le développeur en chef du projet.
* Corey « Atmos » Donohoe ;
* Ibukun « xcomp » Olumuyiwa ;
* Kim « kwo » Woelders, mainteneur d'E16 ;
* Andrew « HandyAndE » Williams.