Enlightenment 0.17 (a.k.a E17) is the next generation of graphical desktop shell from the Enlightenment project. When you first run it and get past the initial setup wizard, you should end up with a desktop not unlike the above. It is a very traditional UNIX/X11 style desktop, because that is what E primarily is and attempts to be, BUT with a bunch of bells, whistles and modernities that were never there, as well as a different core design philosophy. There seems to be some obsession with Window Manager vs. Desktop Environment debates. It doesn't much matter what you call it. It manages windows. It does compositing. It manages files. It launches applications. It handles UI and system settings.
This information assumes you will download and compile Enlightenment and its necessities beyond what your current OS does or can provide. If Enlightenment 0.17 is provided already as packages, you may want to check them out first, see if they are actually up to date, as opposed to compiling it all yourself. If not, then this information will help you get it set up yourself and take your first few steps. There are a few things you will need to use Enlightenment. Firstly you will need to Download Enlightenment and EFL library components. You will need to provide the appropriate system dependencies too. The details will be further on.
Misconceptions and assumptions
Before we go any further, it is time to clean up some common misconceptions. First, Enlightenment is not new. It is OLD. It predates larger desktop environments like GNOME or XFCE. It is just barely younger than KDE. It never started life as an attempt to "be a full desktop environment". It started life as simply a window manager. This was back towards the latter part of 1996, and its first 0.1 release came in the first part of 1997. It was a window manager with some extras to scratch the itch that "everything was gray bevels and UIs had to be plain to be functional or useful, and that computers/X11 were not capable of more". It handily proved that to be wrong. It could manage function AND form more flexibly than anything else, and to this date is still in an enviable position of flexibility in both behavior features and in terms of visuals. In fact, its Achilles heel simply may be that it has too many options and too much flexibility. Some of the extras filled in the gaps, like setting wallpaper, that was always done by 3rd party tools and not the window manager at the time. If you are after a constrained and simple UI, then Enlightenment (E) is not for you. It can be configured to be plain and simple if you try, or to be buzzing with activity and complexity, but this is up to you. Its default is somewhere in between these to give you a taste of what it can do on both ends of the spectrum.
The default look is not what you are stuck with. Enlightenment was the first Window Manager (WM) to introduce themes in X11 (pre-packaged sets of data that you just grab and select, providing you with a vast new look and feel). Today in Enlightenment, these themes come as "Edje" files (.edj), and are pre-packaged data files containing all images, layout, animation etc. that you may need. They never get "unpacked". They are used "live as-is", and only the data needed from the file is sourced and decoded, so even if the theme is massive, only the pieces needed at any one time are decoded into memory, which is normally a fraction of the actual file size. They are also live data and need to be there while E17 runs as it is forever digging bits of data out of these files as it needs it. It is an accepted fact that the default look will not be for everyone. It tries to strike a balance of being unique (not mimicking some other desktop look), yet still being stylish. It is meant to echo some of the past from where Enlightenment comes from, and yet roll in modern effects and feels. It sacrifices some "usability" for look, yet tries to keep a balance and still be functional. It will not be for everyone, but it is hoped that it keeps you mostly happy until you find other themes that exactly meet your visual needs. You will find this as an on-going philosophy in Enlightenment. One size does NOT fit all. That's what options are for. Thats why we have themes. Do not have the misconception that what you see is what you are stuck with. You are expected to experiment and discover what is good for you. Maybe the default is fine. Maybe it is not. That's why we pioneered themes and spent immense amounts of time making them nicely packaged, efficient and powerful enough to fine-tune almost any aspect of the UI.
That leads onto the next thing you may find quickly. Enlightenment has so many options, because we believe that CHOICE is important. If you don't believe that your preferences matter, then maybe another project is better for you, but we firmly believe that they do. We also believe that there are others who have different preferences to you and that they matter too. We may not have accounted for every single option out there. We may not have presented it to you in a way that makes it childs play to find and use, but we have tried. Over time options will be cleaned up and accessibility to them improved. A lot of them are there simply because they needed to be and not a lot of time was spent fine-tuning how to present them in a fool-proof manner. This will improve over time and with input, suggestions, patches etc. we hope to still offer all the options you need or want, but in a much more accessible form.
Not everything is perfect, polished and "finished". This is not the end of a path. It is the start of a whole new one. If you find something you think could be better, please don't just complain and vanish. Contact us and open up a dialogue. Maybe we agree. Maybe we disagree. Maybe we are already working on it. Maybe you can help out and provide patches too.
We have certain things that are important to us and how we work. They will often show immediately to users, and it is good to explain this here. They will lurk behind our decisions and responses, so instead of having to explain them each time, setting the tone here is a good idea.
Why oh why use E?
So if you've managed to read this far, you're rather patient and willing to invest more than 7 seconds on Enlightenment, but you're probably wondering "Why on earth should I use this Enlightenment thing? I don't want people to know I use E! They might think I do drugs or something?". Well wonder no more! You shall now be assaulted by our marketing blurb!
E17 is smaller, lighter, faster, nicer and more flexible that your current WM, and it's old school with a new-school twist. It's trendy and fashionable. You will simply be totally un-cool if you don't use it. Its farts smell of roses and world peace has been known to be solved by E. OK. Just kidding (though really... they do smell of roses!).
In all seriousness Enlightenment is fairly lean. Considering how much you get in return. It isn't a minimalist WM or desktop, but it is a massively long cry from the full desktop beasts that are its peers, even the ones that claim to be minimalist/lean. Enlightenment uses EFL. EFL was designed to provide the core of Enlightenment, and then some. But it was targeted at scaling down to things like mobile phones and embedded devices. This has meant that there was a large focus on being lean, and getting a lot of "return on investment" from the very core that sits under E17. This of course has paid off for Enlightenment itself rather nicely.
It only loads what it needs to, when it needs to. It caches what it no longer needs to avoid always re-fetching it, but these caches eventually get flushed or expire, so long-term it won't just grow without bound in memory footprint. Rendering can be done with the CPU and/or GPU. It's up to you. (though at the moment we don't give you any UI controls over the rendering engine for UI content, but the compositor allows the choice - the core toolkit is capable of it).
An E17 install on the exact same system as Unity on Ubuntu, simply replacing unity can save you 200M of RAM. Not to mention be snappier and more responsive. You will never know until you try, so why not at least give it a go? You run fewer processes since E17 now handles being the panel, filemanager, window manager and compositor (and more) all at once. It amortizes the cost of all these common components into a single process. You start quickly and you are now just a really cool person.
Enlightenment and EFL provide over-the-top power when it comes to re-skinning or theme changes. You can change not just colors and background images, but entire animations, multiple layers of imagery scaled, aligned and laid out to please. It's like Photoshop or The GIMP, but on steroids riding a train of rabid camels. If anything it may be an Achilles heel given how much power is exposed, but hey, that's what we have. If you are an artist, designer or skinner, you could hardly do much worse than E17. Wallpapers don't just have to be images. They can be complete interactive animations. You can provide multiple resolutions of your imagery all in-line in the same file and have the "best one chosen automatically" based on size. It's all like layers that are sized, scaled, aligned and arranged relative to each-other and every UI element is a collection of these. You can have it animate base on input events, or time. And not just the wallpaper. Anything in E17 can do this. Fade layers in and out, change their sizes, image content and more. Make your art come to life.
And for the tweaker heads amongst you, there is an option for every occasion. We don't go quietly into the night and remove options when no one is looking. None of those new big version releases with fanfare and "Hey look! Now with half the options you used to have!". We sneak in when you least expect it and plant a whole forest of new option seeds, watching them spring to life. We nail new options to walls on a regular basis. We bake options-cakes and hand them out at parties. Options are good. Options are awesome. We have lots of them. Spend some quality time getting to know your new garden of options in E17. It may just finally give you the control you have been pining for.
This covers what you need to go from a base "out of the box" installation to being able to compile everything needed for Enlightenment to work properly. We will cover some popular distributions here. Note that this may or may not apply to your distribution for it to work.
Unfortunately OpenGL in general is not as simple. For most people on desktops they can just install the regular GLX flavor of OpenGL packages and headers, but now with lots of ARM ports to systems with EGL/GLES, you need to choose. If you are on a regular x86 desktop, laptop or even tablet system, you should do this:
If you are on an ARM based device that uses embedded OpenGL (OpenGL-ES), or on some x86 based systems that consider themselves as mobile level processors (some Atom models for example) and have embedded GPUs, you will need to do this:
You will need to install alternate OpenGL libraries instead as follows:
You will want to download all of the libraries you need, as well as Enlightenment itself. The easy way is just to copy and paste the below that uses wget to download them. you can download these any way you like, as long as you have these tarballs in full before you begin compiling.
Now you will want to begin compiling. This requires some environment variables be set up so the compile tools can find what they need to work. You may want to modify CFLAGS to use whatever optimization you see as being useful. Note that EFL supports symbol visibility, and the -fvisibility=hidden flag hides symbols by default unless explicitly exported. This is useful as it makes for slightly smaller libraries and can improve startup time by having smaller symbol tables tor linking.
You now have all of EFL you need, and then some. Technically you don't need eio, ethumb or elementary for E17 to work, but you will need these if you wish to start trying EFL using applications. It is very much highly encouraged to install these libraries too.
Because Ubuntu ships with configuration that doesn't care about self-compiled software for the display manager, it will never look in common "standard" locations for other desktops, like /usr/local, so you have to do a quick fix. One of the easiest is to make a symlink so the desktop file appears where the login manager expects to find it.
Enlightenment supports Connman for network connectivity and configuration. You will need to get at least 1.0 version of it to be sure to have it work properly. Unfortunately Ubuntu doesn't. At this stage there isn't really any solution other than to compile connman yourself. Most other distributions have at least 1.0 available as a package.
First kill off network-manager and see if connman runs and works and can connect. If you reboot you'll be fine so don't worry.
Your connman gadget in E17 should soon enough pick up connman and if on a wired network connect. On wireless a click on it will allow you to turn on wifi if it's off and get a list of access points to connect to. If this all works, you're golden. You will probably want to ensure connman starts on boot. You will also want to remove network-manager otherwise they will conflict. The quickest way to ensure that connman starts on boot is add 1 line to /etc/rc.local:
You now have Enlightenment installed and ready to go. You can log out and select "Enlightenment" from the sessions selector (a small round logo in the login box probably), and log in again. You will be first greeted by the Wizard, asking you a short series of questions that help Enlightenment be set up properly for you. You will first be presented with a screen like this:
This screen asks you to select your current language. A long list is provided, so please select the appropriate language for you. Note that the language names are written in their own language and script, so if your system fonts do not provide all characters, some languages may appear as a series of boxes. You may want to install extra language font packs for your operating system. In case the text takes you too long to read, or is garbled due to missing fonts, you have a flag to help you out. We don't choose flags to try and favor any particular nation or culture over another. We simply have chosen flags more people may recognize more easily. Select the language you want and then hit "Next".
Next will be your keyboard layout. Different keyboards have keys in different places often based on language or region. We have provided another simple list of Regions (with flags) to help get this set up as closely as needed to function, and yet remain simple. If this is not good enough, then later on you can reconfigure the keyboard layout yourself with a lot more details from the keyboard layout switcher or settings dialogs.
Now you will see a profile selection dialog. This is very simple at this stage and we only provide 2 profiles. The standard desktop PC profile and an experimental "Mobile UI" profile. It is not recommended that you try the mobile profile unless you really want to experiment there. The Standard PC profile is well fleshed out and is probably what you want anyway.
We have put a lot of effort into UI scalability, but have taken a new tack on it. We don't just scale with DPI. We realize that UI scaling is not a function of DPI, but a function of pixels within the visible viewable angle of your eye AND the acuity of your eyesight. These things we just can't know: if your UI is on a 20dpi TV on the other side of the living room, or no a 300dpi+ smartphone right next to your face is unknown to us. We also don't know how good your eyesight is, so... we ask you which size looks good to you. Choose the one you like best. You can, later on, fine-tune this if you want and ask E17 to scale with DPI if that's what you prefer etc.
Most modern OS's and desktops use "click to focus" by default (or it is the only option they have at all without modification with extra patches or software). This is where, in order to give the keyboard focus to a window, you normally click on it. This will normally also raise the window to the top of the stack. It also tends to come with the policy that all new windows get the focus by default. The very "old school" focus policy in X11 was pointer focus. This is still the default in E17... because we like it that way. BUT we give you a choice. Pointer focus is where the focus of a window tracks the mouse position on screen. As the mouse moves across other windows, they may gain the focus. You are asked for a simple choice here, and can later configure focus and window handling with a host of swizzle knobs as you see fit. Many long-time X11 users and developers find pointer focus preferable.
E17 also has a compositor. This allows for things like dropshadows on windows, fade in/out effects, smooth vsynced tear-free rendering and more. But unlike many others, we also work without OpenGL and still do compositing. We work quite well without it. A lot of effort has been put into E17 and EFL to make this possible. It comes with some caveats, such as no vsynced rendering when using the software compositor, and higher CPU load. If you have a decent GPU with solid drivers, it is recommended you at least give the OpenGL compositing a try. It can be smoother and nicer. But never fear. If you like playing games, it can be turned off whenever you need to. Even without a GPU, you may not even notice the difference between OpenGL compositing and software compositing, unless you look closely. And yes - compositing works on embedded devices too with OpenGL-ES 2.0 and EGL. It's all part of EFL.
Enlightenment can provide you with information as to when new versions are available or major bugs have been fixed or security issues resolved. It won't do the update for you, but it can let you know. You really want to keep this enabled because it not only helps you find out when you should look for updates, but also helps us know if people actually use Enlightenment. We don't care who you are. We don't want your personal information. We just want to know that you exist and use E17 so we can make it better for you and direct development in your direction more.
Against our better judgment, we also included a "taskbar" module for those that just can't live without. It does the job. You may probably want it. It's not for everyone, but hey.. one size does NOT fit all.
And then you should be greeted with a desktop not dissimilar to the one you see above. You're ready to go.
The standard desktop you will see is made up from various elements. These are indicated as below.
You will have some desktop file icons (you can disable file icons on the desktop entirely if you wish - see Files settings). Double clicking on these brings up filemanager views that let you navigate, manage files in a simple way, drag and drop them, Type in the files you want to select or mask (for example *.jpg). If you click elsewhere on the desktop you will get E17's main menu. From here you can access almost all features of Enlightenment as its settings.
At the bottom of the screen is a Shelf. This is a collector for gadgets that arranges them in a line across some edge of your screen. You can re-arrange icons all you like (though it may need some coaxing at first). In the Shelf there will be a Start gadget, that simply brings up Enlightenments' main menu, if it wasn't convenient to click on the desktop or use the Menu key binding or CTRL+ALT+M binding already there. Next to it will be the Pager that displays available virtual desktops, their contents and lets you switch desktops at a click, drag and drop windows from one desktop to another or whole desktops around. Then you will have IBox that holds iconified (minimized) windows. IBar next to it is a launcher to hold shortcuts to common apps and launch them at a single click. You can drag and drop icons into and out of here. Drag them from the applications menu or from the borders of windows. You then will have some system status gadgets like the Temperature gadget, CPU frequency meter and controls, a Clock gadget (it has a digital mode and date display option), and audio Mixer control gadget, a Connman interaction gadget to select network, and Keyboard switcher. There is a Tasks gadget too that acts like a taskbar, but is not visible as no windows are around.
If you browse through the menus you will find settings and applications, system and desktop controls and much more. You may also find yourself with backlight control gadgets and much more besides. The settings panels are chock-full of options, as you may also find if you right-click on gadgets or file icons. You want to spend some quality time exploring just what is there, so in future you know to come back to these settings if you should want to change something.