Enlightenment

Enlightenment is Article description::an eye-candy, compositing and stacking [[window manager that is released under the permissive BSD License.]] It was first released in 1997 by Carsten Haitzler (Rasterman) and this original release was dubbed Enlightenment DR16 (or E16 for short). In 2012 a new version of Enlightenment was released, which was called Enlightenment DR17 (or E17). Since then many further major releases of Enlightenment have been made, from E18 to E24.

There has been some confusion over Enlightenment versions. E16, despite being an older release of Enlightenment, has its releases numbered 1.x, while the later releases of Enlightenment (E17-E23) all have decimal release numbers. E17 is numbered 0.17.x, E18 is numbered 0.18.x, E19 is numbered 0.19.x while E20 is numbered 0.20.x and so on. Consequently, it is advised that users are careful as to which version of Enlightenment they are installing. While the version numbers reflect actual versions of the upstream tar archives, they can be confusing.

USE flags
All Wayland related modules should be either disabled or enabled, depending on the  USE flag status.

For a working Enlightenment installation, USE flags with EFL are important.

Latest Enlightenment
For installing the latest Enlightenment WM and the needed libraries, just issue the following command:

For SVG support e.g. for previews or menu entries, install with the   USE flag enabled.

Addition to (unless you already have the   USE flag globally enabled) and install the package:

Enabling at least these USE flags for efl is recommended when running Enlightenment:

Stable Enlightenment
Because upstream only provides support for the latest Enlightenment, Gentoo will try to follow upstream's release cycles closely. When preferring to use older releases of Enlightenment WM, setting up a local overlay to store ebuilds for x11-wm/enlightenment and dev-libs/efl may be necessary. Older ebuilds can be located by utilizing gentoo.git history.

On stable systems, to get the latest stable version, type

Utilize to block incoming updates.

Enlightenment live ebuilds
The process is a little different because it's recommended to always rebuild all of the components using their current state in Git. Verify Layman or Eselect/Repository has been installed, then add the enlightenment-live overlay.

or

Verify all core enlightenment packages using live ebuilds. This can be updated using the exact same command to ensure that all core packages are updated.

The enlightenment-core-9999 set contains the following packages:

When installing both stable and experimental EFL application, enlightenment-apps-9999 may be set. It contains:

Be aware that they are currently masked for ~amd64, so they may require unmasking:

If anything goes wrong, file a ticket on GitHub or contact User:Rafspiny. Those are live ebuilds and therefore they can occasionally need updating. I'm also considering starting a separate overlay just for Enlightenment.

Enlightenment e16
Old Enlightenment-e16 is still maintained. Install it from Gentoo's main tree with

Enlightenment
Enlightenment's configuration is all handled through the settings editor from within enlightenment. "Under-the-hood" configiratopm options can be accessed via:

And there's also a command line tool called  which especially useful in emergency. In many cases, if Enlightenment's configuration gets broken, moving and  to a temporary place, then re-starting Enlightenment usually helps.

Adding Gadgets to desktop
Open up menu and navigate to "Desktop -> Add Gadgets".

Autostarting applications on login
There's a comprehensive setting editor for that in the Settings Panel, under "Applications -> Autostart applications"

Disabling desktop application icons
The option to disable application icons in desktop is a bit hidden. Open Settings Panel then go to "Files" tab, navigate to "File Manager -> Display" and uncheck "Icons On Desktop".

Using 'bryce' instead of old-fashioned panel
With recent versions, users can opt to use experimental new "bryce" instead of old panel. Open desktop menu and navigate to "Desktop -> Add Bryce". Bryces are experimental in Enlightenment's versions below 0.25.

Wayland session
Easiest way to start a wayland session is to use a wayland-compliant login manager, like GDM or SDDM. Wayland session can be started from TTY also, by calling

provided that wayland USE flag and dependencies are set up correctly. There are some fine-tuning options to be exported, if needed:

where ECORE_EVAS_ENGINE is set to  or   depending on SHM based software rendering or EGL is desired.

When using software rendering, also export.

Note that in theory Wayland should work with elogind, but only systemd is supported by upstream.

EFL-based applications
EFL and python-efl offer developers everything needed to develop eye-candy applications that integrate into Enlightenment WM. Here are few of them,


 * Edi An EFL-based IDE
 * Ephoto Enlightenment image viewer written with EFL
 * Econnman ConnMan User Interface for Enlightenment
 * Evisum System and process monitor written with EFL
 * terminology Feature rich terminal emulator
 * e-flat-theme A modern, flat theme for Enlightenment
 * e-gtk-theme A GTK theme to match Enlightenment WM's default theme

Applications requiring system tray not working properly
Older applications still using xembed systray instead of appindicator may not work properly (Dropbox for example). Solution is to install a stand-alone system tray program, such as stalonetray.

Black window contents
If windows with completely black contents appear (most likely with the nvidia proprietary driver and Enlightenment 0.20.5 or 0.20.6), follow these steps:


 * Log out from Xorg.
 * Set, for example in :

Alternatively, set the variable in the file:


 * Start X.
 * Go to Settings->Composite->Advanced->Rendering and disable "Texture from pixmap".
 * Then remove "export E_COMP_ENGINE=sw" from and log out/in to get accelerated rendering again.

For more information see this bug report.

"No opengl engines found" with nvidia-drivers
With latest releases of mesa and xorg-1.20, efl can look for from a wrong place. This results in Enlightenment's gl-engine not using opengl backend. This can be fixed with patchelf utility.

Identify where the shared object is installed, usually. Then use patchelf to modify efl's gl engine,

And relog. Paths depend on system architechture. This needs to be done once, or everytime efl is re-installed.

Use systemd user session to select the window manager
When compiled with  USE flag enabled, Enlightenment installs a systemd service file to  that can be used to spawn a graphical user session. This file however has  which requires set up xorg as a systemd service to be set manually.

"build error: conflicting types for ‘GLintptr’"
Most likely due to newer Mesa dropping openGL support for older graphics cards. Try building dev-libs/efl with  to get GL working again.

"build error: undefined symbol: _EFL_GFX_PATH_CHANGED"
An unfortunate build error that's caused by existing libraries. There is usually a more detailed error, like: "/usr/lib64/libector.so.1: undefined symbol: _EFL_GFX_PATH_CHANGED". In this case, remove any existing installation of dev-libs/efl and the offending library.

See more in.

Debugging
When attempting to move config files away and Enlightenment still does not work, debug the problem by typing the following and reading the log file:

It is useful when making a bug report to bugs.gentoo.org or upstream's Phabricator. If the log file does not imply clear errors, Enlightenment may need started with debugging tools such as gdb, strace, or valgrind.

External resources

 * E Window Manager Faq
 * GTK Theme to match the new dark default theme
 * Homepage
 * Wikipedia article
 * Arch linux Wiki page
 * Sending patches upstream
 * pling.com theme repository for Enlightenment