# Enlightenment

Enlightenment, noto più semplicemente anche come "E", è un window manager per X Window System. È un software gratuito ed open source che può essere utilizzato da solo oppure assieme ad un ambiente desktop come GNOME o KDE.

## Storia

La prima versione di Enlightenment venne distribuita da Carsten Haitzler (soprannominato Raster) il 30 ottobre del 1996. La prima release in versione beta di DR 17 è stata annunciata durante il LinuxCon europe, per il 1º dicembre 2012: fino ad allora c'erano state release di versioni alpha e pre-alpha, appartenenti al ramo di sviluppo DR 16. La prima versione stabile è la 0.17 (nome in codice zero), distribuita, dopo ben 12 anni di sviluppo, il 21 dicembre 2012.

## Caratteristiche

È caratterizzato da un buon supporto per i temi e la grafica avanzata senza dover sacrificare velocità e leggerezza, disponendo inoltre di una configurazione grafica.
Come tale, esso può essere preso in considerazione come sostituto di un ambiente desktop completo su computer magari non molto potenti. Il progetto nelle intenzioni degli sviluppatori mira ad essere un ambiente desktop, basandosi sulle nuove Enlightenment Foundation Libraries (EFL). Le librerie EFL caratterizzano Enlightenment, possono essere usate indipendentemente per fornire utili peculiarità e creare potenti applicazioni, sono molto più efficienti sia in velocità sia in dimensioni delle loro equivalenti GTK+ e Qt e hanno una più piccola impronta di memoria, nel senso che incidono meno sulle risorse hardware del computer.
Tutte le versioni si basano sulle librerie EET (un componente fondamentale delle Enlightenment Foundation Libraries). Vengono usate per memorizzare porzioni di codice in formato compresso e permetterne la lettura decomprimendo quelle porzioni "al volo", e hanno raggiunto finalmente uno stadio completamente stabile e di utilizzo anche per gli utenti meno esperti.

## Componenti
### Enlightenment Foundation Libraries

Le Enlightenment Foundation Libraries sono le librerie ufficiali del progetto, e costituiscono il toolkit principale di sviluppo dello stesso. La prima milestone è stata raggiunta nel 2011 con la release della versione 1.0.
Nel dicembre 2012, in concomitanza con la pubblicazione della prima versione stabile del window manager, sono state aggiornate alla versione 1.7.4.

### Engage

Engage è un launcher alternativo per enlightenment DR17 sviluppato con le Enlightenment Foundation Libraries. È stato creato per permettere agli utenti di Enlightenment di avere una system tray, un launcher e una icon bar in un'unica area.
È perfettamente compatibile con i temi del desktop, in quanto parte di Enlightenment.

### Terminology

Un emulatore di terminale basato sulle enlightenment foundation libraries

## Versioni
### 0.16

Alcune delle caratteristiche sono:
* Le "scrivanie virtuali" - Enlightenment permette di avere una griglia di aree di lavoro chiamate desktop virtuali. La commutazione tra loro è ottenuta muovendo il mouse cursore sul bordo dello schermo, con un effetto che simula lo scorrimento. La dimensione della griglia massima è 8 per 8 e si possono avere fino a 32 scrivanie (ognuna con un diverso sfondo), dando luogo a più di 2048 spazi di lavoro totali. Gli utenti possono attivare una mappa delle aree desktop, in caso si perdessero, funzionalità che viene chiamata "the pager" (impaginatore di lavoro).
* La dragbar da desktop permette di far 'scivolare' una scrivania per rivelare la scrivania immediatamente 'sotto'. Il team di sviluppo di E ama paragonarli a fogli di carta, accatastati l'uno sull'altro, dove si può far scivolare parzialmente un foglio per far vedere cosa c'è sotto.
* Il raggruppamento a finestre permette di inserire le finestre in gruppi in modo che essi possano essere mossi, ridimensionati, chiusi, ecc. allo stesso tempo.
* L'iconificazione consiste nella riduzione delle finestre ad un'icona, che vengono immagazzinate come 'iconboxes' che possono essere sistemate sulla schermata-desktop.
* Possibilità di cambiare i bordi delle finestre (o rimuovere completamente bordi e barra del titolo).
* Gli utenti possono creare combinazioni di tasti per azioni come massimizzare le finestre, avviare programmi, spostare tra desktop e muovere il cursore del mouse - rendendo possibile utilizzare Enlightenment soltanto con la tastiera. e16keyedit è un programma grafico per semplificare la creazione di combinazioni di tasti.
Uno degli obiettivi di enlightment è quello di essere il più configurabile possibile, e per questo comprende finestre per la configurazione delle opzioni di focus, movimento finestre, ridimensionamento e raggruppamento, e opzioni di placement, audio, desktop multipli, desktop background, pager, tooltip, e opzioni di autoraise. Comprende anche opzioni sugli effetti speciali, incluso un effetto 'ripple' desktop.

### 0.17

La DR17 è una completa riscrittura della DR16 pensata per una vasta tipologia di piattaforme, che vanno dai sistemi embedded (negli elettrodomestici) fino alle più potenti workstation.
Caratteristiche principali:
* Il tema si può modificare completamente, con un'interfaccia di cambiamento del tema sia in modo menu sia per la riga di comando.
* Virtual desktop grid.
* Struttura modulare - può caricare moduli esterni in modo dinamico. I moduli attuali comprendono:
** un desktop pager
** 'iBar' e 'engage', due application launchers animati (engage può anche essere usato come system tray)
** una barra delle applicazioni
** un modulo finestra drop shadow
** 'embrace', un mail checker
** desktop sticky notes
** un orologio (analogico o digitale)
** 'dEvian' un semplice feed reader
** un disk mounter
** 'evolume' un mixer compatibile con ALSA
** monitors di livello di batteria, velocità CPU e temperatura
** un monitor di system load
* Uno o più shelves per amministrare la posizione dei moduli e l'apparenza dello schermo.
* Desktop animati e interattivi, elementi del menu, elementi iBar e widgets desktop sono possibili.
* Window shading, iconificazione, massimizzazione e opzioni sticky.
* key bindings modificabili.
* Supporto per l'internazionalizzazione.

## Sviluppatori principali
### Attivi

* Carsten Haitzler (Raster ) - sviluppatore principale
* Corey Donohoe (Atmos)
* Ibukun Olumuyiwa (xcomp)
* Kim Woelders (kwo) - E16 maintainer
* Andrew Williams (HandyAndE)
* Hisham Mardam Bey (CodeWarrior)

### Ritirati

* Geoff Harrison (Mandrake)