Documentation for the Enlightenment Window Manager
Document Home is at http://heave.to/e14.txt
Website: http://www.rasterman.com or http://www.enlightenment.org
Author: Raster, alias Rasterman, AKA Charleton Heston alias Carsten Haitzler
Co-Author: Mandrake, AKA Geoff Harrison
Contact Points: raster <at> redhat <pt> com, mandrake <at> mandrake <pt> net
Mailing List: e-develop <at> rasterman <pt> com
Current Version: Development Release 14
Current Status: Alpha/Working Demo, GPL
Last updated 98/05/14
Table of Contents
Installing Enlightenment
Gotchas
Platforms Tested
Packages Needed
What Versions You Have
Feature List
To Be Developed
Feature Explanations
Resources (i/c)
Tutorial (i/c)
FAQs
Installing Enlightenment
The first order of business is to decide which method fits your style of
installation better. There are currently two general methods and short of a
new software technology on the horizon, this will remain true for the
development releases of Enlightenment. You can either use a distribution
packaging system like Redhat's RPM, Debian's, or the cross-distribution
system that handles both, Alien. You will find these files by their
extensions, respectively: .rpm and .deb. Install them as per the current
instructions contained in their manual pages.
The second method is by compiling directly from the source code the authors
wrote. To do this, you will need to have a C compiler installed, and
snarf the .tar.gz or .tgz files. Then just unarchive them by going to the
directory tree you want to install from (ie. /usr/local/src), and type "tar
zxvf /(dir of .tarball)/e14.tgz". Change to the directory it creates and type
"make", and if no error messages result, "make install".
(Currently there is no configure script or Imakefile.)
Gotchas
Make sure you have the needed dependencies fulfilled. This involves installing
a number of libraries that you may or may not have, or that need updating to be
useful to Enlightenment. Chances are, if you have a fresh system that shows
you graphics, you have most of the libraries; but check the Files Needed
section just in case. Two libraries, Imlib an Fnlib, are for Enlightened
applications, and if you do not have any such applications installed, then
you will need to install these as a minimum requirement.
Make sure that you do not have a compatibility problem with the library
dependencies that Enlightenment needs to do its business. If you have an
older set of libraries and other packages dependent on them, chances are you
will probably have to upgrade all of said packages as they might "break" in
various degrees. Given the nature of distribution packages, you will have to
uninstall them, and reinstall fresher, newer ones. People who use source code
will just need to recompile (ie, make clean; make; make install) said
broken applications if their source trees are still locally accessible. If
there is a question as to whether a library is more likely to have dependent
programmes, it will be the /usr/lib version, not the /usr/local/lib one: use
due caution, because your distribution probably assumes this one for all of its
shipping programmes.
Please note that Enlightenment itself, while using these libraries, is not
responsible for breaking other applications. If in doubt, find a version of the
library in question that works with both Enlightenment and the troubled
application(s).
The development model is with Gnu tools and if problems in compiling persist,
installing these (GCC and Gmake) might be a solution if all else fails. Linux
and BSD in general are shipped with these and aliased as "cc" and "make" so no
extraneous installation is necessary. Since this is a rewrite of Development
Release 13, please send all further information to make Enlightenment conform to
your native compiler to the E mailing list so it can be further documented here
and thereby shared with needful others.
Platforms Tested
(taken from scratch starting at Development Release 14)
Linux/Alpha 2.0.x, libc
Linux/Intel 2.x.x, glibc
Packages Needed (and the "official homes" in which to find them)
Imlib ftp://ftp.labs.redhat.com/pub/raster/imlib-1.4.tar.gz
JPEG ftp://ftp.uu.net/graphics/jpeg/
TIFF ftp://sgi.com/graphics/tiff/
Fnlib ftp://ftp.labs.redhat.com/pub/raster/fnlib_DR-0.2.tar.gz
GIF http://sagan.earthspace.net/~esr/giflib/giflib-3.0.tar.gz
PNG ftp://ftp.uu.net/graphics/png/
ZLIB ftp://ftp.cdrom.com/pub/infozip/zlib/
When in doubt of the absolute latest check these out, or your distribution's
home web site for native packages, or (as a last resort ;) visit:
http://www.rasterman.com/development.html
What Version You Have
This will display all the shared libraries you have on your current system, and
where they are. In the case of duplicates, erase them after making sure
nothing else depends on them in case of possible conflicts if you have
problems. (See the Gotcha section for details.) Always make sure you have a
base library soft linked pointer that is used as a common access point for
calling programmes. (See Sample Result for details.)
In some other cases, you might find a negative result: check to see
if you have a static (non-shared) library first before installing a new
one, as other programmes might depend on it.
Note: for systems not compiling a shared (ie., static) library, replace "so" in
the following
statements with "a".
To use this, paste or type the following into an xterm (or tty).
locate libpng|grep so -
locate libFnlib|grep so -
locate libgif|grep so -
locate libImlib|grep so -
locate libjpeg|grep so -
locate libtiff|grep so -
locate libz|grep so -
Sample result:
/usr/lib/libtiff.so <- soft linked pointer
/usr/lib/libtiff.so.3 <- soft linked pointer
/usr/lib/libtiff.so.3.4.28 <- actual library
This means it is properly formed and accessible.
My results (for comparison):
libz.so.1.1.2, libtiff.so.3.4.28, libjpeg.so.6.0.1, libImlib.so.1.4.0,
libgif.so.3.0, libFnlib.so.0.2.0, libpng.so.2.1.0, libImlib.so.1.3.0
Addendum: the results might also be negative because said libraries have not
been on your system long enough to be displayed because locate's database has
not had enough time to be updated. (In which case, you should know what you've
installed in the last 24 hours, or whenever your locate's database gets
updated.) In some cases, like libImlib's, a lower version is also available
because the author wishes to keep compatibility with older applications and you
should refrain (until you update those dependent programmes) from deleting the
extraneous libraries.
Feature List
Sliding Desktops
Shaped Windows
Graphical Window Decorations
Formal ICCCM Conformance
Auto Window Arrange
Striding Window Entry
Borderless Windows
Text Classes
To Be Developed
Menus
Configurability
Good documentation
Feature Explanations
Sliding Desktops
Desktop drag and drop has been replaced with a different, more fascinating
mechanism of sliding desktops. Keybindings let you switch between desktops as
most window managers featuring virtual desktops allow. Using the pointing
device, however, you can now slide the partition over that lives on the left
side of your desktop, so that you can see the other desktops "underneath" the
current one. You can open more than one at a time and easily drag a window
from one desktop and *plop* it on another and it will 'stick' to it
automatically when it slides more open or closed.
Shaped Windows
Wholly aesthetic, these allow window decorations that aren't confined to
plain rectangles, allowing background elements of the desktop or lower
windows, to show through portions much like peeking through Victorian lace to
see your hand. While detracting from performance to deliver this feature, it
can be used creatively with Window Decorations to create an entirely new
landscape for your desktop. This feature is dependent on the window
decorations, of course; if you use a set of window decorations that are
rectalinear, or mostly so, the performance drain is completely or partially
negated.
Window Decorations
Any GIF, PN(GM), JPG, or TIFF file can be used to in Enlightenment's
configuration to create a window decoration to stick to your windows or to be
used as buttons or other usable artifacts. Similarly, highlighted focus can
be indicated with another set to show its changed state.
Formal ICCCM Conformance
The feature says it all, doesn't it? Enlightenment now boasts conformance
with the ICCCM protocol standard.
Striding Window Entry
When a window is adopted from the resource pool into X, Enlightenment now
tells the window it has to stride across the screen from a randomly chosen
corner to the destined area where it can finally rest.
Text Classes
Enlightenment now uses the Fnlib Font library in order to give non-standard X
fonts for window title bars and other such accruements. This provides
Enlightenment with the ability to use a graphic image as a sort of mapped-on
font set. Right now this is pretty raw still, and is at the whim of the
artists'/contortionists' concept of contrast as multiple shades are now
possible, thus possibly reducing visibility. When the colour and contrast
combinations are on, though, it's certainly eye candy.
Resources
(hmmm... none yet for this development release)
Tutorial
(ha! insert witty banter here)
FAQs
1. Oh noooo, I get the blue screen of death! What'll I do now?
Right now, the demo only works in the directory its been compiled in, due to
the lack of an install script and the use of nonabsolute pathnames (an
altogether good idea). Execute it from your install directory (the one above
the pix subdirectory in it, and holding the enlightenment binary).
2. Where's the Xterm? and the Menu?
Xterm either didn't ship with your distribution of X, or you didn't put one
in your startx script or xdm setup. Out-of-the-box source doesn't have a
menu, and hence no Xterm selector.
3. How do I exit Enlightenment? Other keybindings?
Ctrl-Esc. Default for desktop sliding is Shift-Left or Shift-Right.
Feel free to change it in test.c by replacing "ShiftMask" with
"ControlMask" on the two lines.
4. But this was released, wasn't it? When will it?
Well, sorta. It's a demo. If you want the "real" one, go back to DR13.3;
however, you'll live without sliding desktops and being a beta-tester. As
far as I know, the original plans to keep it on track (and the state of the
source code) indicate that the Expo date of May 28th is a fairly good
certainty.
5. Where's a screen shot for this thing?
Well, I've got one jpeg up on http://heave.to/e14.jpg,
and that's all I know of.
6. With no menus, how do you work/test its real-world usage?
There are plenty of utilities out there that provide that stuff. Right now
I'm trying out xfce and its build-your-own-interface blends pretty well with
my Enlightenment usage.
7. When did all of this happen?!
We all got word of it by the 10th, and it was up at Raster's RH ftp area on
May 9th. You don't stay in often, do you?
Enlightenment code is copyright (C) 1998 Carsten Haitzler and Mandrake.
Released under the Gnu Public License scheme. (http://www.gnu.org for details)
Documentation is copyright (C) 1998 Hilarion, also GPLed.
All additions/corrections will be credited if so desired.
Contact: rhogan <at> mnsi <pt> net.
-
To unsubscribe from this list send mail to: [EMAIL PROTECTED]
with the message contents: unsubscribe e-develop