My first Linux experiences came through Knoppix and Mandrake, which send you to the KDE desktop by default. I used KDE at first, but I wanted to experiment with other less Windowsesque environments. The first one I installed was Enlightenment 16, which I must confess I had first heard of in Neal Stephenson’s essay “In The Beginning There Was the Command Line.” In that essay he said Enlightenment “may be the hippest single technology product I have ever seen” and that “it looks amazingly cool.” Since these sentiments were written in 1999, plenty of rivals have emerged for the title of “hippest tech.”
Once I had Enlightenment installed on my laptop there was no going back. I tried out a few other window managers, but the efficiency of E16 was hard to beat. My only complaints were that Enlightenment seemed a bit short on conveniences such as launchers, so I ended up running GNOME stripped down to one panel and the main menu with E16 as the window manager. Meanwhile, I read the descriptions of the new “desktop shell” that the Enlightenment crew was working on, dubbed Enlightenment DR17 (or E17, as I’ll refer to it from here on) and thought it sounded like exactly what I wanted.
I should mention that “window manager” isn’t quite the right term for E17. The developers call it a desktop shell, intending it to fill in the space between a simple window manager like the original Enlightenment and a full-featured desktop environment like GNOME. In other words, they were setting out to create a desktop not unlike my own E16/GNOME hybrid. In this respect it does not disappoint.
In creating E17 the Enlightenment crew have created a set of shared libraries (the Enlightenment Foundation Libraries) with the goal of building a complete set of applications to create an integrated environment where all files and programs are readily available that remains fast and non-resource-intensive. Essentially, E17 breaks down a desktop environment into its essential components (window manager, file manager, launcher, main menu, etc.) and offers them as a completely customizable package, where the user chooses which elements to use at any time.
When I started using E17 back in early May, I had already been a regular user of E16 for a while. My first impressions were that E17 sported some neat features, but configuring the menus (by making all those damn eapp files, E17’s special icon format — read on for more details) was a hassle, plus E17 was missing many of the small features, such as edge-flipping or icon boxes, that I liked in E16. But I stuck
with it, updating it on a regular basis and reading the continually updated user guide at Get-E.org, and usability has steadily increased. Also, a number of the features I had been missing were added (like
edge-flipping) or had been there all along (turns out there is an icon box module called ibox, which is disabled by default). A graphical eap creator and other additions like a run command, alt-tab window switching (complete with a well designed display) and, for those who use sloppy or mouse focus, automatic placement of the cursor in the newly selected window have improved general usability.
One functional feature of E16 I still miss is using middle-clicks to shade windows. I made an attempt at setting this mouse binding in E17, though what happened was middle-clicking anywhere in the window (as opposed to directly on the titlebar) would shade it, which is problematic when, say, browsing in Firefox and trying to open links in new tabs by middle clicking.
Naturally I wasn’t expecting everything to work perfectly — even the splash screen advises “This is development code — be warned!” But to paraphrase someone from another forum, E17 is more stable than your average development window manager.
One early issue I had was Firefox behaving strangely with sloppy focus, the default setting. The titlebar would flash in time with my typing, I would lose all of my Firefox-specific keyboard shortcuts, and there would be no auto completion in the URL bar. Perhaps one of the many “minor bugfixes” one reads about in CVS logs took care of it. Another recently remedied problem was the inability to open menus in applications run under WINE. Another curious effect with WINE programs is that any Windows apps opened with WINE (or CrossOver) have the same window-class, which is how Enlightenment chooses what eap icon it uses to represent the app in the taskbar, pager, and window list. While you can set up different eaps with unique icons for each application (useful for the menu), they will all appear with the same icon in the pager (not so useful). Annoying, though likely not a deal breaker for most users.
Other minor annoyances:
- no easy configuration of module appearance
- click-to-raise only works on titlebar under mouse/sloppy focus, while click-to-focus works anywhere in the window.
I remember someone writing that one of the biggest considerations in your choice of an OS or window manager was answering the question, “Does this help you get your work done?” For a short time last month I switched back to Fluxbox, as I found minor things like focus issues distracting while trying to work. But while writing this review, I’ve found that those minor issues are either fixed or there are workarounds, and E17 has become my standard desktop again. I recently loaded up E16 on the home computer and was struck by how inelegant it is compared to E17.
And so I have stayed with the new Enlightenment. Bugs are fixed, people are creating new themes and icon sets, the user guide at Get-E is becoming ever more detailed, and of course, since this is Linux, there are plenty of opportunities for users to join in and make the damn thing better still.
As far as installation goes, you can manually configure, compile, and install following the directions at Enlightenment.freedesktop.org, or you can avail yourself of a few less labor intensive options. Packages are available for Debian, rpms for Fedora, and ebuilds (both snapshots and CVS) in portage for Gentoo. More information on installation can be found here. I use both the Fedora rpms and Gentoo ebuilds (from CVS). At the rate E17 is updated, last month’s version is already rustic. I tend to update it every other week. Thus far, I have had no upgrades leave me with an unstable or unusable E17.
The Strange and Wondrous World of the EAP
The only major hurdle facing a new user of E17 is the creation of eap files, which are essentially small files consisting of an icon plus basic information about a program,
including its name and executable. In a desktop environment like GNOME, you create launchers on the panel by choosing an icon and entering the program’s name and executable in the launcher
Fortunately, it is easily done with an included script or using a guicreation tool. Creating an eap is a similar process, but newly created eaps are stored for Enlightenment to use in the menus, launchers, icon boxes, taskbars, and pagers. Though a few eaps
are included in the basic installation, you will want to create more. included in the e_utils package. Ideally, you should only have to build a set of eaps once, plus a number of prebuilt eap collections are available online at www.get-e.org. You then organize menus and launchers by editing text files or using the graphical tool Entangle.
Additional configuration is done with the main menu , the background chooser Emblem or the command line tool enlightenment_remote, which is by far the most powerful of the configuration tools available in E17. With it you can set backgrounds, themes, focus policy, virtual desktops, modules, mouse button bindings, key bindings, fonts, menu display speeds, edge-flipping, and more. Graphical tools for key bindings, background creation, and general configuration are all on the TODO list, along with items like desktop icons, tabbed windows, and other monitor modules, so there are plenty of opportunities for coders looking to get involved.
Themes and backgrounds also have their own unique file format that allows a file to include multiple images and scripts, which makes some fun effects possible, such as title bar animation during focus changes, light effects in backgrounds and full-screen animations. A number of themes and backgrounds are available at www.get-e.org. Static backgrounds can be generated from any normal image file.
The following is a short flash video demonstrating a few of the animated backgrounds available, as well as one of the desktop switching animations.
(Go Watch the Background Video!)
The one nasty little surprise that often awaits a user after an upgrade that is your configuration is reset. What this means is that your module, theme, background, and key binding settings are all lost, though these can be easily restored by writing a simple script. Also, as development progresses, E has become better at remembering some settings (menus, weather url, module placement, startup programs, etc.), which makes for less work to restore your desktop. Eap files, menus, and launcher configurations are not affected by updates.
A central feature of the E17 desktop is the collection of modules which can be added or removed as the user wishes, allowing Enlightenment to be as light or heavy as one desires. Currently there are 16 official modules available, ranging from the useful (pager, launch bar) to the informative (cpu/memory monitor, weather) to eye candy (dropshadow, flame, snow). Discovering the modules was a bit of an adventure, as there was no obvious way to list all available choices, only the loaded ones. (By the way, you can find all the available modules – in Gentoo anyway – by looking in /usr/lib/enlightenment/modules/ and /usr/lib/enlightenment/modules_extra/)
The following three flash videos show off the various modules in use:
Another new EFL application, though not actually a part of E17, but deserving of
special mention is Evidence, essentially an graphical file browser, though a bit more flexible than say, Nautilus. It offers a choice of views (icon, browser, or tree), customizable context menus, and a command shell. The context menu includes options for various file types, such as opening image files in Entice (the E17 image viewer) or editing ID3 tags on mp3 files. Also, you can use the shelf (a frame at the bottom of the main window) to store often used files or application launchers. Evidence can also be used to draw the desktop.
Personally, this is one of my favorite new applications, even though I have yet to
master half of what it can do. The command shell combined with the icon view gives me what feels like the best of both the terminal (powerful commands like cp and mv) and graphical file managers (excellent visual organization). There are little tricks to be learned (like using the full path of a file name in shell commands — tab completion can be used for this), and occasional bugs (like the vanishing configuration window), but considering that Evidence has become
remarkably more stable and functional in the past month alone, I foresee this become my full time file manager.
You can use Evidence in any window manager. Visit the Evidence home page for more information.
Engage and Other Applications
Possibly the most popular of the new EFL applications, or at least the one asked about most frequently on various forums, Engage is a combination app launch bar, taskbar, and system tray similar to the dock in Mac’s OS X. Engage is available in two different forms: a standalone form which can be used with any window manager or a module form for use with E17. The standalone version is a bit more robust and configurable than the module form, but I have been using Engage in place of the iBar launcher recently without any troubles, and having the system tray available was quite useful in creating the Wink movies for this review.
A number of other applications are being developed as well. Equate is a simple, themeable calculator, Entice is an excellent image viewer that allows for zooming and slide shows, Elation is a bare-bones media player, and Eclair is a music player with playlist support, similar to XMMS. Though these new EFL apps are worth keeping an eye on as development progresses, Entice is the only one I use on a regular basis.
On the whole, I am very happy with the new Enlightenment. On their homepage (www.enlightenment.org), the Enlightenment team states “We believe your desktop should not be an eyesore. It should be functional AND beautiful.” They are doing well on both fronts.