|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Thursday, 8 June 2000||Author: Tom Dominico, Jr.|
|Published to: In-Depth Reports/In-Depth Reports||Page: 1/1 - [Std View]|
The Enlightenment Project: Past, Present, and Future
One trademark of Enlightenment is complete themeability. Every aspect of the desktop and windows can be changed: fonts, colors, window decorations, button placement, and so on. Simply put, Enlightenment can look like anything you want it to, provided you're willing to take the Gimp for a spin.
In the beginning there were twm, and fvwm, and fvwm2. In terms of a window manager, those were your basic choices. Frustrated with their lack of flexibility and visual appeal, Carsten Haitzler (a.k.a. "Rasterman") started down the path that would lead to the creation of the Enlightenment window manager.
Initially, Haitzler began learning C and Xlib programming by hacking on the fvwm2 sources, in an attempt to add customizations that were not currently available to him. However, he still wasn't satisfied with his results, and so Enlightenment was born. By his own account, he learned through trial and error. The guiding principle behind his work was simply to create the most flexible, attractive, and easily customizable window manager in existence.
As time passed, Haitzler was surprised at the number of people who, like himself, wanted a window manager that took customization and visual appeal to new heights. Encouraged by the demand for Enlightenment, his coding efforts continued, leading to the birth of Imlib (Haitzler's replacement for libXpm, which he found too limiting). Imlib would now serve as the Enlightenment "backend," performing image-handling tasks.
Meanwhile, the Enlightenment team was about to double in size. Geoff Harrison (a.k.a. "Mandrake") appeared on the scene with some patches of his own. Soon, the patches were turning into tarballs, swapped back and forth between Haitzler and Harrison. Soon, Harrison was a full-time member of the development team.
Unfortunately, things were about to go downhill. As the codebase grew, both developers found its quality to be decreasing. Finding themselves in this situation, they chose to abandon the current codebase. The result was a rewrite of the window manager which became Enlightenment 0.14, and has now made it to 0.16.4.
In its current incarnation, Enlightenment is a very stable, full-featured window manager. In addition to being completely themeable, it supports such features as:
A complete list of features can be found at enlightenment.org
One trademark of Enlightenment is complete themeability. Every aspect of the desktop and windows can be changed: fonts, colors, window decorations, button placement, and so on. Simply put, Enlightenment can look like anything you want it to, provided you're willing to take the Gimp for a spin. Luckily, many people have already done so, and their themes are available at e.themes.org. Themes can be changed at will by simply selecting them from the Enlightenment root menu.
The Future of Enlightenment
Presently, Enlightenment is at version 0.16.4, with current efforts being directed in a number of directions. Perhaps the most exciting development to come out of the Enlightenment camp is EFM, the Enlightenment File Manager. Originally intended to be a simple file selector, it has slowly morphed into something much bigger, and will eventually be "merged" with Enlightenment as part of what the developers term a "desktop shell". What is a desktop shell, you ask? According to Harrison, "The idea of Enlightenment 0.17/0.18 is going to be the union of a file manager, window manager, and a shell. Basically the graphical equivalent of bash." Haitzler adds: "the phrase seems to be morphing into more a combo shell/file manager/app manager concept, where we try and make both the old-style shell and the new file manager play together in an integrated fashion." For example, commands can be typed into any view. Typing "*.jpg" in a directory view would select all the JPEG images in that directory. Then the mouse could be used to hand-select a few other files, and then perform some operation on them. It's an attempt to blend the power of the command line with an intuitive graphical interface. As Haitzler puts it, "It's just a way of putting some of the power of the command line into a file manager your grandmother wouldn't be scared of."
One exciting feature of EFM/Enlightenment 0.17 will be even greater ease of customization, through drag and drop and other configuration tools. Expect to be able to set fonts, colors, and various other visual elements with a few clicks of the mouse.
Providing the graphical "horsepower" will be a Imlib2, written to be both faster and more powerful than the current incarnation of Imlib. It will also be extensible via "loaders:" plugins which can be dropped in to handle different image types. Also in the works for Enlightenment are such things as hardware acceleration and generally faster performance, as well as tighter integration with outside applications such as Eterm.
EFM is currently available via anonymous CVS. It appears extremely promising, and aims to deliver a look and feature set which cannot be found in any other window manager or desktop environment. Since its feature set is constantly changing, I recommend that you check mandrake.net to learn of the latest EFM news and features.
The Enlightenment project continues to push the limit of what a window manager can be. With the future release of 0.17/EFM, it is poised to become the sexiest, most customizable, and possibly even the most innovative window manager available for the X Window System. Thanks go out to Carsten Haitzler and Geoff Harrison for their participation in this article, and for providing the community with a visually dazzling choice in window managers.
Tom Dominico (email@example.com) is a programmer, database administrator, and Linux convert. Cursed with insomnia, he spends his sleepless nights chatting on IRC, tweaking his Linux box, and reading everything he can get his hands on.