Current Version: Development Release 14
Current Status: Alpha/Working Demo, GPL Documentation for
the Enlightenment Window Manager
Dox by Hilarion
Last updated 98/05/14
This documentation is copyright (C) 1998 Hilarion, and like Enlighten-
ment itself, also released under the Gnu General Public License. All
additions and corrections will be credited if so desired; contact
rhogan < at > mnsi < pt > net for further information.
______________________________________________________________________
Table of Contents:
1. the Devil in the Details
1.1. the Authors and Enlightenment
1.2. Enlightenment's Home and Mailing List
1.3. Official Enlightenment Websites
1.4. Where To Get and Use This Document
1.5. License Terms
2. Installing Enlightenment
3. Gotchas
4. Platforms Tested
5. Packages Needed
6. What Version You Have
7. Starting X With E
7.1. By Startx
7.2. By xdm
7.3. SPECIAL NOTE
8. Feature Set
8.1. To Be Developed
8.2. Feature Explanations
8.2.1. Sliding Desktops
8.2.2. Shaped Windows
8.2.3. Window Decorations
8.2.4. Formal ICCCM Conformance
8.2.5. Striding Window Entry
8.2.6. Text Classes
9. Resources
10. Tutorial
11. FAQs
______________________________________________________________________
1. the Devil in the Details
Wherein we discover what others have been talking about...
1.1. the Authors and Enlightenment
The authors of Enlightenment are Raster (raster < at > redhat < pt
>com) and his co-pilot, Mandrake (mandrake < at > mandrake < pt >
net). While the early development releases were rapid fire affairs of
escalating feature sets, bugs, and expectations, the 14th development
release is the long awaited step-back-and-retrench rewrite that will
provide the stability for serious development.
+ Raster, alias Rasterman, AKA Charleton Heston alias Carsten
Haitzler
+ Mandrake, AKA Geoff Harrison
1.2. Enlightenment's Home and Mailing List
Its permanent roost is [EMAIL PROTECTED] and is being hosted by
Mark Rorabaugh (mark < at > 2rad < pt > net). While it is considered
a developer's list, comments, observations, bug reports, wishlists and
the like are hard to refuse. For general announcements, e-
[EMAIL PROTECTED] is the mailing list to subscribe to, although
announcements are mirrored on both so that if you are a fanboy/girl or
a developer, you can cut down on your time and mailbox bandwidth and
subscribe to just e-develop. Did I mention the fact that Mark was
nice enough to front the rasterman.com domain and www.rasterman.com
server?
1.3. Official Enlightenment Websites
+ <http://www.rasterman.com/> or
+ <http://www.enlightenment.org/>
1.4. Where To Get and Use This Document
This document can be snarfed from either
+ Printable text at <http://heave.to/e14.txt> or
<http://www.rasterman.com/e14.txt>
+ HTML-traversible tree at <http://www.heave.to/e14.html> or
<http://www.rasterman.com/e14.html>
+ Printable Postscript at <http://heave.to/e14.ps> (about 350K)
+ Archived HTML tree at <http://www.heave.to/e14.tgz>
The version that is posted to the Enlightenment mailing list is a
vanilla ascii version of the printable text, suitable for that media,
since no assumptions as to the capability of a Usenet-accessed tty or
mailing agent can be made. The Rasterman site will mirror it daily,
so there is no need to discern between the two in practical terms.
For printing, either the Postscript or Printable Text versions are
suggested, and for a snatch-and-grab fest, the traversible tree is
provided and designed for your entertainment and euclidiation. If
given the choice and the time, choose the Postscript version; even if
you _____ have a Postscript printer, you will receive a fairly good
rendering on whatever you have by using Ghostscript or Ghostview.
1.5. License Terms
Enlightenment and its Image and Text libraries, Imlib and Fnlib
respectively, are released under the Gnu General Public License
scheme. For more details, see <http://www.gnu.org/>
2. 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.)
3. 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.
4. Platforms Tested
(taken from scratch starting at Development Release 14)
+ Linux/Alpha 2.0.3x, libc
+ Linux/Intel 2.x.xx, glibc and libc
+ Linux/PPC 2.1.24 using a Powerbook 2400
5. 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>
Redhat/RPM
+ Intel/Alpha/Sparc <ftp.redhat.com>
+ Apple <ftp.mklinux.apple.com> and <ftp.linuxppc.org>
Debian/DEB
+ Intel/Alpha <ftp.debian.org>
6. 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.
7. Starting X With E
There are plenty of ways to start X up on your new E machine, but
we'll just cover the two most used, most portable, solutions, namely
using the xdm daemon or the startx script.
7.1.
By Startx
In most distributions you'll be able to find your site's xinitrc file
in an /etc tree. On my linux distribution, this amounts to
/etc/X11/xinit/xinitrc. On some systems, the setup is multi-user and
found in your home directory, by the name of .xinitrc. To see if it's
at "home," type "ls -lAd .xinitrc" in your home directory.
Simply put a "#" in front of the line that would otherwise bootstrap
your normal window manager, and put "exec path/enlightenment" where
path is the pathspec that points to where your resultant Enlightenment
binary is. Then just type "startx" after dropping out of X, and
enjoy.
7.2.
By xdm
For most distributions, xdm's setup resides in /usr/X11R6/lib/X11/xdm
or /usr/X11/lib/X11/xdm if you want to hardcode the entire site. If
you are just a user on a site, then look to changing the .Xsession
residing in your home directory, exactly as you would as if it were a
Startx xinitrc file.
7.3.
SPECIAL NOTE
Since the demo doesn't include a method of generating xterms itself,
you must put an "exec xterm" somewhere before the "exec enlightenment"
in the X configuration file you just edited. After the "exec
enlightenment" you must put a "cd path-to-E" so it can read its demo-
defaulted window and desktop graphics, or to start xdm/startx from
that directory instead.
8. Feature Set
+ Sliding Desktops
+ Shaped Windows
+ Graphical Window Decorations
+ Formal ICCCM Conformance
+ Auto Window Arrange
+ Striding Window Entry
+ Borderless Windows
+ Text Classes
8.1. To Be Developed
+ Menus
+ Configurability
+ Good documentation
8.2. Feature Explanations
8.2.1.
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.
8.2.2.
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.
8.2.3.
Window Decorations
Any GIF, PNG/PNM, 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.
8.2.4.
Formal ICCCM Conformance
The feature says it all, doesn't it? Enlightenment now boasts
conformance with the ICCCM protocol standard.
8.2.5.
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.
8.2.6.
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.
9. Resources
(hmmm... none yet for this development release)
10. Tutorial
(ha! insert witty banter here)
11. 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. F12 allows the
windows to be repositioned, usually more favourably, depending
on the "arrangement" scheme chosen. (The demo's default is
BY_SIZE, and seems to go by newest highest.)
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?
8.
Where'd the new window just skip off to?
Sometimes on a smaller resolution screen (?) with no free area
for the arranging algorhythm to work within, the window gets
placed off or near the edge as it finds no room near the centre
of the screen. Hit F12 and it'll "right" itself by ignoring
other windows, repositioning all be absolutist measurements.
-
To unsubscribe from this list send mail to: [EMAIL PROTECTED]
with the message contents: unsubscribe e-develop