Enlightenment, also known simply as E, is a compositing and stacking window manager for the X Window System. Since version 20, Enlightenment is also a Wayland compositor. Enlightenment developers have referred to it as "the original eye-candy window manager".
Enlightenment includes functions to provide a graphical shell, and it can be used in conjunction with programs written for GNOME or KDE. When used together with the Enlightenment Foundation Libraries (EFL), Enlightenment can refer to an entire desktop environment.
The first version of Enlightenment was released by Rasterman (Carsten Haitzler) in 1997.
Version 0.17, also referred to as E17, was in development for 12 years starting in December 2000 until 21 December 2012 when it was officially released as stable. During the development period it was also referred to as DR17 (Development Release 17).
It is a complete rewrite on DR16 and was designed to be a full-fledged desktop shell, based on the new Enlightenment Foundation Libraries (EFL).
E16 itself is still in active development that runs independently of E17, reaching the 1.0 milestone in 2009 (1.0.17 as of 2015).
Bodhi Linux was built around the Enlightenment 17 desktop, but forked it to create the Moksha desktop.
The current version is E21.
Enlightenment allows the user to have a grid of workspaces called virtual desktops. Switching between them is achieved by hurling the mouse cursor to the edge of the screen, at which the desktop appears to slide across to reveal the next. The maximum grid size is eight by eight desktops, and the user can have 32 grids (each with a different background), making 2048 total possible desktop spaces (users can enable a map of the desktops, in case they get lost, which is called the pager).
The desktop dragbar allows a desktop to be 'slid back' to reveal the desktop 'underneath'. The E team use the analogy of sheets of paper, stacked on top of each other, where the user can slide off a piece partially to reveal what's beneath.
Window grouping: the ability to put windows into groups so that they can all be moved, resized, closed, etc. together.
Iconification: reducing windows to an icon, stored in 'iconboxes' that can be placed about the screen.
Ability to change window borders (or remove borders and title bars completely).
Users can create keybindings for actions such as maximizing windows, launching programs, moving between desktops and moving the mouse cursor, hence making it possible to use Enlightenment solely with a keyboard. e16keyedit is a graphical program for simplifying keybinding creation.
It contains a command line interface, eesh, which affects the window manager actions, and makes it possible to write powerful shell scripts controlling most features on the desktop, from settings to single window manipulations.
Newer versions include compositing effects such as fading and transparency.
One of the aims of the window manager is to be as configurable as possible, and to this end, it includes customization dialogs for focus settings, window movement, resizing, grouping and placement settings, audio, multiple desktop, desktop background, pager, tooltip and autoraise settings. It also includes a special effects dialog, including a desktop 'ripple' effect.
E17 has many core features such as:
Fully themeable, with both a menu-based and command-line theme-changing interface
A built-in file manager
Icons on the desktop
Virtual desktop grid feature
Modular design: can dynamically load external modules. Currently available modules include:
Pager: Switching between different virtual desktops
iBar: Launching applications
iBox: Holding minimized applications
Engage (original and rewrite based on iTask NG): A dock similar to the Mac OS X dock
Dropshadow: Provides a drop-shadow for every window
Clock: Analog and digital clock
Battery: Monitoring a laptop battery
CPUFreq: Monitoring a laptop CPU
Temperature: Monitoring laptop temperature
Illume: Modifies the user interface of enlightenment to work cleanly on a mobile device
Composite: Allows the user to run enlightenment with composite effects
Tiling: Allows to set up tiling on specified virtual desktops
One or more shelves to manage the gadget placement and appearance on the screen
Animated, interactive desktop backgrounds, menu items, iBar items and desktop widgets are all possible
Window shading, iconification, maximising and sticky settings
Customizable key bindings
Support for internationalization
Standardized: supports all needed standards (NetWM, ICCCM, XDG and so on)
Principal
Carsten "Rasterman" Haitzler: lead developer
Kim "kwo" Woelders: E16 maintainer
Hisham "CodeWarrior" Mardam Bey
Christopher "devilhorns" Michael
Mike "zmike" Blumenkrantz
Inactive
Geoff "Mandrake" Harrison