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

Reply via email to