[ Saturday, 3 March 2007, michuk ]
The performance of desktop computers increases year by year. This gives the programmers great opportunities to further improve the desktop experience of the users. However, what should you do when you have an old computer that is not capable of running the latest and hottest software? How can you benefit from the great software that is X.org when you can’t run a desktop that takes advantage of its best features? No need for upgrading your PC, when you can have a usable alternative with the current one. Let me introduce you Enlightenment E17 — the window manager with minimal hardware requirements that may amaze you.
Author: Tomasz Roszak
Currently two desktops rule the GNU/Linux world: GNOME and KDE. Both require modern hardware but offer a lot of functions instead. Fortunately, programmers of both popular environments after a period of increasing requirements with each release started to work on optimization. The effects can be easily noticed when you compare GNOME in version 2.14 (or later) with the earlier ones in the 2 series. There have been many articles already about getting the most of the popular desktop environments.
However, what should you do when you have an old computer that is not capable of running the latest hottest software? How can you benefit from the great software that X.org is when you can’t run a desktop that takes advantage of its best features?
No need to upgrading your PC, when you can have a usable alternative with the current one.
X.org enables you to use any graphical user interface you like in GNU/Linux, BSD and compatible systems. You are certainly not restricted to choosing the most popular ones like KDE or GNOME. Other environments can also provide you with a great desktop experience without sacrificing as much system resources. They enable you to personalize your desktop, choose the best wallpaper, icon set, widgets and applets in order to make your desktop your second home. So, do you want a pleasant and good looking desktop with a lot of eye-candy, but fast and efficient at the same time? Let me introduce you with Enlightenment E17 — the window manager with minimal hardware requirements that may amaze you.
Enlightenment — the basics
Enlightenment has something to do with the light. It is a window manager that comes with special effects. When you first run it you usually feel strange — its looks do not resemble anything that you have ever seen on the desktop before. The toolbar, the icons, the analog clock… all this is simply amazing. You either love it at the first sight or hate it for the eye-candy you can’t stand.
But… let’s start from the beginning.
The Enlightenment project was started in 1997 as an FVWM (another lightweight windows manager) fork. The project has evolved greatly since then. The current stable version in 0.16. We are going to play with Enlightenment DR17 (Development Release 17), which will be called e17 in the article, for simplicity reasons.
The current status of e17 is alpha, which means that the final release is a long way off. You should, however, not be discouraged by that. The manager is quite stable. And “quite stable” is not equivalent to the way stability is described in the world of Windows. When compared to the stability of e17 with Windows 98 or Me (even assuming that all service packs are installed), it is not an exaggeration to say that the Microsoft products should not have reached even the alpha stage, yet.
And e17 is fast, too. One of the reasons (except for great code) is it’s modularity. E17 is built of Enlightenment Foundation Libraries (ELF). What is interesting, e17 has been written from scratch — it doesn’t share any code with its predecessor — e16.
There are two ways of installing e17 — either from ready-to-use packages or from source.
Using packages is easier and it is the recommended way to install e17 when you are a Linux newbie. The Enlightenment team prepares packages for many popular GNU/Linux distributions, like Ubuntu or Gentoo. On website EFL User Guide detailed instructions can be found about installing e17 in your favorite distribution.
Here we are going to present the installation in two selected distros: Ubuntu and Gentoo, and then describe the generic way of installing e17 from the CVS repository.
Installing in Ubuntu 6.10 (Eddy Eft).
You need to edit the file
/etc/apt/sources.list and add the following entries:
## E17 repository "edevelop.org" deb http://edevelop.org/pkg-e/ubuntu edgy e17 deb-src http://edevelop.org/pkg-e/ubuntu edgy e17 ## E17 Repository "e17.dunnewind.net" deb http://e17.dunnewind.net/ubuntu edgy e17 deb-src http://e17.dunnewind.net/ubuntu edgy e17
Then, update the packages info:
sudo apt-get update
And finally install e17:
sudo apt-get install e17
It may happen that DR16 version of Enlightenment is available in the repositories. In such case it is necessary to force the dependency from 0.16.999.xxx.
To do this, enter the following lines in file
Package: enlightenment Pin: version 0.16.999.* Pin-Priority: 999 Package: enlightenment-data Pin: version 0.16.999.* Pin-Priority: 999
Of course, if you prefer graphical way of installing software, you can use Synaptic Package Manager and perform all these actions in the GUI environment.
Installing in Gentoo.
No reason to describe it here since there already exists a great guide in the Gentoo Wiki: HOWTO: Emerge e17. The detailed installation instructions for Gentoo are available there.
Installation from CVS
The alternative way of installing e17 is to use the CVS repository. The detailed instructions how to do this are available in the user guide. Here is a short HOWTO:
Switch to folder
/usr/src and run the following commands:
$ cvs -d:pserver:firstname.lastname@example.org:/var/cvs/e login cvs -z3 -d:pserver:email@example.com:/var/cvs/e \\ co e17/libs/eet cvs -z3 -d:pserver:firstname.lastname@example.org:/var/cvs/e \\ co e17/libs/edb cvs -z3 -d:pserver:email@example.com:/var/cvs/e \\ co e17/libs/evas cvs -z3 -d:pserver:firstname.lastname@example.org:/var/cvs/e \\ co e17/libs/ecore cvs -z3 -d:pserver:email@example.com:/var/cvs/e \\ co e17/libs/embryo cvs -z3 -d:pserver:firstname.lastname@example.org:/var/cvs/e \\ co e17/libs/edje cvs -z3 -d:pserver:email@example.com:/var/cvs/e \\ co e17/apps/e
Then we need to compile the sources starting from the
libs directory and finishing in
e17/apps/e. This can be done using the commands:
./autogen.sh && ./configure –prefix=/usr/local/e17; \\ make; make install
When installed from the custom package, the new window manager is usually automatically added to your session manager (probably gdm or kdm) and it should be possible to choose Enlightenment as an option when logging in graphically.
You can also make Enlightenment run by default. This can be done by entering the following line in
Your path to Enlightenment should be something like
/usr/bin/enlightenment, depending on the distribution.
In case of installing from CVS the file should be
/usr/local/e17/bin/enlightenment (in our case) or, if you entered a different prefix, in the manually entered directory.
If you want Enlightenment to be available as an option in kdm or gdm, you also need to add the entry manually.
Here is the effect of our installation:
The screenshot is static for obvious reasons, but when you run it yourself you are going to see the nicely animated menu with light effects:
Configuring e17 can be a pain for some and for others it can be a relief. It all depends on your particular habits. I personally prefer manually editing the configuration files. Unfortunately, e17 stores them in a binary form so the only way to configure the manager is to use a dedicated tool, either command-line or GUI-based.
Command line tools
The command line tool allowing you to configure e17 is enlightenment-remote. All possible configuration options can be seen by invoking the command
Here are some selected options:
|enlightenment_remote -lang-list||list of available languages|
|enlightenment_remote -lang-set pl_PL.UTF-8||set language to Polish and encoding to UTF-8|
|enlightenment_remote -font-available-list||show list of available fonts|
|enlightenment_remote -module-load||load a module|
|enlightenment_remote -module-unload||remove a module|
|enlightenment_remote -module-enable||enable a module|
|enlightenment_remote -module-disable||disable a module|
|enlightenment_remote -module-list||show the list of all available modules|
The GUI configuration currently offers almost all the functions available through enlightenment_remote. To trigger the graphical control panel just click on the Enlightenment logo on the desktop and choose Configuration from the pop-up menu. You will be presented with a panel consisting of the following options:
- Configuration Panel
- Application menus
The panel configuration, setting a wallpaper and choosing a theme can be left with no comment — these are standard options available in all window managers. The interesting concept are the shelves — special Enlightened toolbars. We can define multiple shelves and each one can have different content. We can put the following items on them:
- desktop switch applets,
- application launchers
- main menu
- information modules like a clock, processor temperature sensor, current weather, etc
Of course all these items can share a single shelf.
The e17 control panel is simple and easy to use. It looks a little bit inspired by SUSE’s YaST configuration tool, although has significantly fewer options. The ergonomics of the panel is pretty good.
As mentioned above the configuration is written to binary files so it needs to be edited using the special tools. However, some parts of it are put in plain text files and can be edited manually. The example is the menu with favorite programs. It can be easily manipulated in
Backgrounds, modules and wallpapers are written to binary files with
edj extension. You can find multiple themes for e17 on the Internet. One of the interesting effects in the implementation of scalable icons in the tool that resemble the Apple’s MacOSX toolbar. I personally didn’t like the default theme too much, so I changed it to another one, which is presented on the following screenshot.
If you love eye-candy and want a desktop that can impress your friends, e17 is for you. Animated backgrounds, special effects when a button is pressed or the when you select the main menu or toolbar with the mouse pointer, all those make e17 a great environment to play with. But it doesn’t mean that the eye candy is the only feature making e17 unique. The large number of configuration options help you to configure your desktop to fit your personal needs.
You still have to remember that the environment is marked alpha. It feels stable, you don’t have to worry that it will crash every now and then or hang randomly, but still, some applications or e17 applets may have stability issues so don’t be surprised to see an “problem with application” message bar once in a while.
E17 also has some little ergonomics problems — some things could be designed in a different manner, but this is an issue for another article. The good thing is that all the stability problems are quickly resolved by the developers. Every 7-14 days a new snapshot release is made and an Ubuntu package is delivered ready for update. For other distributions it probably works in a similar way.
You need to install E17 in order to fully appreciate the magnificent work of the programmers. The direction of changes is very good — e17 delivers a nice-looking desktop with many special effects, being easy and lightweight at the same time. When compared to its predecessor — e16 — it shows that the desktop personalization and new effects do not have to trigger additional hardware purchases. I only wish I could say the same about GNOME and KDE. Also, I have to say that I wish the Microsoft products were as stable and functional as e17 in alpha phase.
- www.enlightenment.org — official website
- www.get-e.org — how to get Enlightenment
- www.edevelop.org — developers’ website
- User Guide from get-e.org
- HOWTO: Emerge e17 from Gentoo Wiki
This article has been first published in Dragonia Magazine, a Polish online magazine about Free and Open-Source Software.