On 04-Jun-98 R. Nortman playfully chanted:
| As mentioned in my previous message, I'm a newbie.  You have been
| warned.
| 
| Can I use older themes with DR 0.14?  I've seen some really
| awesome-looking ones on various web sites, but they'll all for older
| versions.  (Which makes sense, since AFAICT, DR 0.14 is not officially
| out the door yet.)
| 
| Assuming that the answer is yes, what's a themeball, and how do I
| install it? 
| 
| Also, have the configuration files changed significantly?  Can I
| follow the instructions at www.rasterman.com for changing menus and
| stuff?  (I assume this is actually related to the first question.)
| 
| Lastly, is there any place for me to RTFM, or must I RTFS?  (That is,
| Read The F#!@#$& Source.)
| 
| 
| Thanks.
| 
| Randy Nortman
| [EMAIL PROTECTED]


  Current Version: Development Release 14 beta 2
  Current Status: Working Demo, GPL
  Documentation for the Enlightenment Window Manager
  Dox by Hilarion
  Last updated 98/05/31

  This documentation is copyright (C) 1998 Hilarion, and like Enlighten-
  ment itself, is 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. Special thanks
  go out to all those on the mailing list who helped me put this
  together, and a nod to S.B. Hobdell for pointing out a particularly
  wormy passage, and Raul Miller for philosophical Fnlib corrections.
  ______________________________________________________________________

  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 How To Use This Document

  1.5.    License Terms and Sharing

  1.6.    History

  2.      Installing Enlightenment

  2.1.    Gotchas

  2.1.1.  Accidentally Orphaning Other Applications

  2.1.2.  Accidentally Orphaning Imlib

  2.1.3.  the Enlightenment Development Model

  2.2.    Platforms Tested

  2.3.    Packages Needed and Their Homes

  2.4.    What Library Versions You Have

  2.4.1.  Sample result

  2.4.2.  My results (for comparison)

  2.4.3.  Why Locate Might Not Work

  3.      Starting X With E

  3.1.    By Startx

  3.2.    By xdm

  3.3.    SPECIAL NOTE

  4.      Running X with E

  4.1.    Small Screens, Low Resolutions, and Colour Depths

  4.1.1.  For the Best Unconstrained Display

  4.1.2.  For the Best Constrained Display

  4.1.2.1.        Fiddling With Imlib's Configuration

  4.1.2.2.        Convert/Lose the Larger Graphics

  4.1.2.3.        Change Your X Configuration

  4.2.    As a Networked Window Manager

  4.3.    Problem Compatibility List

  4.4.    Exceptional Compatibility List

  4.5.    Your Expected Performance and Constraints

  4.5.1.  RAM Constraints

  4.5.2.  Video Card Constraints

  4.5.3.  Monitor/VDT Constraints

  4.5.4.  Bandwidth Constraints Over Networks

  4.5.5.  What To Do?

  5.      Feature Set

  5.1.    To Be Developed

  5.2.    Feature Explanations

  5.2.1.  Sliding Desktops

  5.2.2.  Shaped Windows

  5.2.3.  Window Decorations

  5.2.4.  Formal ICCCM Conformance

  5.2.4.1.        Icons

  5.2.4.2.        Primary ICCCM (GNOME) Compliance

  5.2.4.3.        Motif Compliance

  5.2.4.4.        Client Convenience Compliance

  5.2.4.5.        Enlightened Compliance

  5.2.5.  Striding Window Entry

  5.2.6.  Text Classes

  5.2.7.  Sticky/Floating Windows

  5.2.8.  Floating Desktop Buttons

  5.2.9.  Enlightened Sound Daemon Integration

  6.      Resources

  7.      Tutorial

  8.      FAQs for E-14
  ______________________________________________________________________

  1.  the Devil in the Details

  Wherein we discover what others have been talking about...

  1.1.  the Authors and Enlightenment

  Have you ever wondered what your desktop could be like with a little
  help from the window manager to change the details that matter to you,
  personally?  Most window managers allow a certain degree of fidelity
  with your use of it to make it easier, and while this isn't a light
  thing to dismiss, there can be so much more done to leave your mark on
  the desktop and make it yours.

  Let me ask you a few questions to determine whether you're ready for
  Enlightenment.  Do you like deciding what graphics will be used as
  window decorations?  Do you like artistically individual or unique
  fonts for special purposes?  Are you tired of typing things into a box
  that sits inside of another box?  Do you like fielding questions about
  your desktop from your co-workers and friends?  Can you stand
  compliments on things you use and own?

  If you've said "yes" to any of the above, you're probably ready for
  the experience.  Warning: first time users should wear sunglasses and
  come up for air occasionally to reduce strain on the frontal and
  occipital lobes.

  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, expectations, and even sometimes design
  quirks. The 14th release in the Enlightenment development cycle is the
  long awaited step-back-and-retrench rewrite that will provide the
  stability for the serious development of an Enlightened desktop.  Not
  to sound like some biblical prophet, but the time is near; harken and
  repent O user!, for Enlightenment's 13th release date is behind us,
  and its 14th is upon us!

  o  Raster, alias Rasterman, AKA Charleton Heston alias Carsten
     Haitzler

  o  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 server?

  1.3.  Official Enlightenment Websites

  o   <http://www.rasterman.com/> or

  o   <http://www.enlightenment.org/>

  1.4.  Where To Get and How To Use This Document

  This document can be snarfed in various flavours from

  o  Printable text at  <http://heave.to/e14.txt> or
     <http://www.rasterman.com/e14.txt>

  o  HTML-traversible tree at  <http://www.heave.to/e14.html> or
     <http://www.rasterman.com/e14.html>

  o  Printable Postscript at  <http://heave.to/e14.ps> (about 400K)

  o  Very Vanilla Text version at  <http://heave.to/e14v.txt>

  o  Archived HTML tree at  <http://www.heave.to/e14.tgz>

  The version that is posted to the Enlightenment mailing list is the
  Very Vanilla text version, suitable for that media, since no
  assumptions as to the capability of a Usenet-accessing or mailing
  agent can be made with regard to overstriking.  I have been informed
  that the rasterman.com site will mirror it daily, so there is no need
  to discern between the two in practical terms for retrieval.

  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.  The
  Printable Text version is also suitable for a local or remote terminal
  or tty that can handle the overstriking and emphasizes headings and
  bold text much better than the Very Vanilla version.  If given the
  choice and the time, choose the Postscript version; even if you don't
  have a Postscript printer, you will receive a fairly good rendering on
  whatever you have by using Ghostscript or Ghostview.

  1.5.  License Terms and Sharing

  Enlightenment and its Image and Text libraries, Imlib and Fnlib
  respectively, are released under the Gnu General Public License
  scheme.  What this basically means to you, the user, or you, the
  developer, is that you have free access to change and redistribute the
  way Enlightenment works to other users, who will in turn be able to do
  similarly.  This isn't a license to kill, but rather a license which
  allows users and developers to work as a community and share.
  Whatever you can do to make Enlightenment better can only be made even
  better by sharing it with others.  Whether your talent is graphics,
  words, being a codehead, or even evangelizing to people who can, by
  making available a resource for such, do it.

  For more details, see  <http://www.gnu.org/>

  1.6.  History

  19980515 Released second beta of E14
  19980509 Released first beta of E14

  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 "configure", then "make", and if
  no error messages result, "make install".

  (Of course, installing this is not an acceptable option at this point,
  as it is only a demo.  Please refer to the various sections involving
  getting around this shortcoming, especially SPECIAL NOTE.)

  2.1.  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.

  In the latest development release, the Enlightened Sound Daemon is
  included.  On some systems it requires the inclusion of the math
  library as these are not included automatically from the configure
  script or the system's compiler.  You can do this easily by making
  sure the line in your resultant Makefile after running configure says:

  LIBS = -lesd -lFnlib -lImlib -lpng -lgif -ltiff -ljpeg -lz -lm -lXtst

  It is a Good Idea(tm) to see if this line is filled out with the
  libraries needed for each of the libraries with the things they need,
  and in Enlightenment.  If something is missing down in the libraries,
  you'll know what it is and what you need to do as a result.

  2.1.1.  Accidentally Orphaning Other Applications

  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).

  2.1.2.  Accidentally Orphaning Imlib

  Just as it can happen to other applications through changing libraries
  from the ones they expect to the ones they don't, you can do the same
  thing to Imlib.  Imlib depends on these libraries just as the other
  programmes on your system do, and can lead to very strange errors or
  problems with compiling Enlightenment.  This is much rarer in its
  occurence than orphaning other programmes because it involves
  installing library binaries after you've installed Imlib.

  The solution is simple enough.  Just recompile or rebuild Imlib.  It
  will rescan what is on your system and reorient itself to use what it
  finds.  Recompile anything that depends on both Imlib and these
  libraries, and is a Good Idea(tm) even if it just relies on Imlib
  unless you know for sure whether the Enlightened applications you use
  (Enlightenment inclusive) do not.

  2.1.3.  the Enlightenment Development Model

  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.

  2.2.  Platforms Tested

  (taken from scratch starting at Development Release 14)

  o  Linux/Alpha 2.0.3x, libc

  o  Linux/Intel 2.x.xx, glibc and libc

  o  Linux/PPC 2.1.24 using a Powerbook 2400

  2.3.  Packages Needed and Their Homes

  Where exact filenames are mentioned, consider these minimums for the
  current release.

  o  Imlib <ftp://ftp.labs.redhat.com/pub/raster/imlib-1.4.tar.gz>

  o  JPEG <ftp://ftp.uu.net/graphics/jpeg/>

  o  TIFF <ftp://sgi.com/graphics/tiff/>

  o  Fnlib <ftp://ftp.labs.redhat.com/pub/raster/fnlib_DR-0.2.tar.gz>

  o  GIF <http://sagan.earthspace.net/~esr/giflib/giflib-3.0.tar.gz>

  o  PNG <ftp://ftp.uu.net/graphics/png/>

  o  ZLIB <ftp://ftp.cdrom.com/pub/infozip/zlib/>

  o  Gtk <ftp://ftp.gtk.org/pub/gtk/v1.0/gtk+-1.0.1.tar.gz>

  o  ESD <ftp://ftp.enlightenment.org/pub/ricware/esound-0.2.1.tar.gz>

     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

  o  Intel/Alpha/Sparc  <ftp.redhat.com>

  o  Apple  <ftp.mklinux.apple.com> and  <ftp.linuxppc.org>

  Debian/DEB

  o  Intel/Alpha  <ftp.debian.org>

  2.4.  What Library Versions 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 -
  locate libgtk|grep so -
  locate libesd|grep so -

  2.4.1.  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.

  2.4.2.  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,
    libgtk.so.1.0.2,libesd.so.0.0.0

  2.4.3.  Why Locate Might Not Work

  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.

  3.  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.

  3.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.

  3.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.

  3.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.

  4.  Running X with E

  While these things may seem transitory, these sections might help you
  decide on a configuration that best suits your needs and the needs of
  your local network or machine. In some cases, for some users,
  exquisite graphics can lead to exquisite bandwidth hogs.  Hopefully
  these situations are well-accounted here enough for you to see your
  limits and use them (and E) effectively and to your benefit, and see
  what is possible for you.

  4.1.  Small Screens, Low Resolutions, and Colour Depths

  There can be several reasons why even if you can run Enlightenment at
  a higher resolution and colour depth, it might not be in your best
  interests to do so if you have an installation limited in terms of its
  RAM, video card, or monitor.  (See the ``Expected Performance''
  section for details.)

  Enlightenment configurations are mostly geared towards those of us who
  have recent and/or higher end graphics capabilities: namely 15BPP or
  higher. If a configuration is set up to use more than your than your
  current X setup comfortably allows for as a colour depth, you will see
  dithered graphics.  Enlightenment's graphic library, Imlib, will try
  all it can to make this look as good as the original, but in some
  extreme low-end hardware cases like 8BPP, this might amount to fuzzy
  or pointillistic graphics when you use colour-dense configurations.
  This may be a hindrance or complete setback to your hope of running
  Enlightenment.  That's understandable, but there is hope of running
  most of these configurations on your desktop without destroying the
  qualities that drew you to them in the first place.  With a few
  modifications to your X setup instead, you're all set and ready to go.

  4.1.1.  For the Best Unconstrained Display

  If you have higher colour capabilities at lower graphics resolutions,
  try them out first.  Psychologically, they tend to fool your eye
  better than high resolution at a lower colour depth.  Virtual desktop
  sizes are supported in any base X server distribution and can be used
  if a given configuration is designed for a higher resolution than you
  can "afford" to use in displaying purposes. As an added bonus, most
  video cards and monitors have better refresh rates at lower graphical
  resolutions.  Note that some of these advantages may be meaningless if
  the Enlightenment configurations you use do not actually use the extra
  colours.

  4.1.2.  For the Best Constrained Display

  If you are running in lower resolutions or colour depths, constrained
  or not, then you yet have some options to peruse and pursue.

  4.1.2.1.  Fiddling With Imlib's Configuration

  Sooner or later you will want to improve the resolution of a 16BPP
  even if the image is originally rendered in it.  Imlib allows you to
  do this by editing a human-readable text file in your Imlib
  installation directory, usually /etc/imrc.  To make it even easier on
  you, the configuration file itself is self-documented.  Read it, bend
  it to your needs, and heed its warnings and advice.  The next time
  Imlib is bootstrapped, it will use the changed configuration.

  4.1.2.2.  Convert/Lose the Larger Graphics

  Use a graphic converter (ImageMagick's command line driven "convert")
  or a general graphic manipulation programme (the GIMP or ImageMagick's
  "display") to rid yourself of the troublesome constraints of the
  images that are particularly bogging your system down.  Quantisizing
  the colours is probably the best solution, as each "layer" of colour
  depth is the size of an entire bitmapped resolution.  Going from 32BPP
  to 16BPP will easily halve the image and your trouble.

  4.1.2.3.  Change Your X Configuration

  Change the default mode of X entry to the desired resolution, but keep
  the "Virtual Size" the same as the resolution you wish to have your
  desktop emulate.  Afterwards, when running X (and E) you will find
  that you can scroll past the border like a pan and scan movie, seeing
  just a little bit of it at a time while being able to use all of it.

  Depending on your X/OS distribution, your X configuration file might
  be in a strange place and a strange name.  Refer to your X manuals or
  wrappers.  (Any specifics graciously accepted.)

  For those who use XFree, it resides in either
  /usr/X11R6/lib/X11/XF86Config or /etc/X11/XF86Config (or both).

  4.2.  As a Networked Window Manager ...incomplete

  4.3.  Problem Compatibility List ...incomplete

  4.4.  Exceptional Compatibility List ...incomplete

  4.5.  Your Expected Performance and Constraints

  Enlightenment might bring your system to its proverbial knees, but
  this is a usually correctable situation that has nothing to do with
  Enlightenment more efficiently using your system's resources.
  Typically the largest drain on your system is going to be because of
  moving large graphics around, plain and simple.

  There may be very good reasons why you don't want to run Enlightenment
  at a high resolution and colour depth and these are usually because of
  hardware constraints.  If you have performance problems, please read
  the following sections to decide what best reflects your system's
  difficulties and make whatever appropriate changes necessary.  These
  need not make Enlightenment less beautiful or useful except in extreme
  cases of low-end hardware.

  4.5.1.  RAM Constraints

  If you have a system with less RAM than is assumed for a given
  Enlightenment configuration, your system will start bailing this
  additional memory out in the form of swap space.  This might mean that
  your system becomes very sluggish. It most certainly will become more
  pronounced as time goes on and backgrounds get cached by the system as
  you use them and will not go away but get worse.

  4.5.2.  Video Card Constraints

  If you have a video card that is relatively slow when communicating
  with your mother board, large image dumps might make minor or
  noticeable slowdowns. These slowdowns, however, are proportional to
  the size of the image(s) being disaplayed, and for only as long as
  your video subsystem needs to complete the task at hand.

  4.5.3.  Monitor/VDT Constraints

  Some monitors work against the strengths of the video cards that are
  connected to them, or vice versa, by having incompatible modes of
  resolution and colour depth.  Additionally, if you have a mode that
  can handle both, and RAM and bandwidth constraints can be ignored,
  there can be further complications by your monitor's refresh rate
  being low enough to cause undue eye strain.  It is a tricky thing to
  look for and quantisize, and might be unnoticeable to some; but for
  others...

  4.5.4.  Bandwidth Constraints Over Networks

  Imlib, the library through which Enlightenment and all Enlightened
  applications send their system requests for graphics, is a server-
  centric software system.  What this means to you as a non-local client
  user is that the graphics are being squeezed down the wire so that you
  can view them.  Dependind on your network's bandwidth, your fellow
  clients on the network, and your system administrator(s), this might
  be unacceptable at 32BPP.

  4.5.5.  What To Do?

  There are a number of solutions, depending upon where your problem
  lies with performance.  In all cases, using less graphics is the
  cheapest, most painless solution.  This does not necessarily mean a
  degraded image.  See the ``Small Screens, Low Resolution, and Colour
  Depth'' section for details.

  Otherwise, upgrading your RAM if that is part of the problem is a
  cost/performance solution that is unparalleled.  Both because RAM is
  relatively inexpensive, and because it concerns the majority of your
  system degradation in most cases with the exception of networking.  A
  better video and networking subsystem configuration are also
  possibilities if you find that you need them.

  5.  Feature Set

  o  Sliding Desktops

  o  Shaped Windows

  o  Graphical Window Decorations

  o  Formal ICCCM Conformance

  o  Auto Window Arrange

  o  Striding Window Entry

  o  Borderless Windows

  o  Text Classes

  o  Sticky/Floating Windows

  o  Floating Desktop Buttons

  o  Enlightened Sound Daemon Integration

  5.1.  To Be Developed

  o  Menus

  o  Configurability

  o  Good documentation

  5.2.  Feature Explanations

  5.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, although a trifle fancier. Using the pointing device, however,
  you can now slide the desktop roller bar (squeegie?) over that lives
  on the left/top side of your desktop, so that you can move it over as
  much as you like in order to 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 seemingly
  'stick' to it automatically when you slide the desktop more open or
  closed.  As a simple man's filing system, you can leave many of them
  open in various state of "undress," to easily shuffle windows around.

  5.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 on the other side.  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 relative performance drain is completely or partially
  negated.

  5.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, and yet a third as a special meme to connote user-
  controlled movement until a window is released.

  5.2.4.

  Formal ICCCM Conformance

  The feature says it all, doesn't it?  Enlightenment now boasts
  conformance with the ICCCM protocol standard.

  There are three sets of atoms that E can understand: MWM (Motif), the
  usual X standards, and Enlightenment's own internal triad for the
  Enlightened.

  Note: All atomic bits that are listed herein are in ascending bit
  order, including relational sections.

  5.2.4.1.

  Icons

  Most standard sizes that are optimized by Xservers as well as others
  are utilized in their appropriate state.  The sizes that are
  acceptable (and used) by Enlightenment are 8x8, 12x12, 16x16, 20x20,
  24x24, 32x32, 40x40, 48x48, 64x64, 96x96, and 128x128.  Enlightenment
  quietly catches and uses these icon sizes in order to maintain
  compatibility for all client programmes, no matter what their
  originally intended "audience" was.  If no icon is desired for by the
  application, requesting an icon size of 0 will ensure this under
  Enlightenment.

  5.2.4.2.

  Primary ICCCM (GNOME) Compliance

     WM_EXTENDED_HINTS
        " EXTENDED_HINT_STICKY, EXTENDED_HINT_ONTOP,
        EXTENDED_HINT_ONBOTTOM, EXTENDED_HINT_NEVER_USE_AREA, and
        EXTENDED_HINT_DESKTOP

     WM_PROTOCOLS
        " Determines whether a client can or will accept ICCCM protocol
        messages.

     WM_TAKE_FOCUS
        " If set, Enlightenment will send an XEvent to the client
        programme informing them of their ownership of the keyboard
        focus.

     WM_STATE
        " This atom is either set to IconicState or NormalState by
        Enlightenment.

     WM_SAVE_YOURSELF
        " This atom allows the client programme the luxury of a warning
        in order for it to save its data if the manager or server falls
        down.

     WM_DELETE_WINDOW
        Simply informs the client programme of its impending doom.

  5.2.4.3.

  Motif Compliance

     _MOTIF_WM_INFO
        " Enlightenment identifies the root window as its own, and gives
        it the of always being on the bottom, as per MWM_DECOR_BORDER.

     _MOTIF_WM_HINTS
        " These come in two sets:

        Functions
           " MWM_FUNC_ALL, MWM_FUNC_RESIZE, MWM_FUNC_MOVE,
           MWM_FUNC_MINIMIZE, MWM_FUNC_MAXIMIZE, and MWM_FUNC_CLOSE.

        Decorations
           " MWM_DECOR_ALL, MWM_DECOR_BORDER, MWM_DECOR_RESIZEH,
           MWM_DECOR_TITLE, MWM_DECOR_MENU, MWM_DECOR_MINIMIZE, and
           MWM_DECOR_MAXIMIZE.

  5.2.4.4.

  Client Convenience Compliance

     _XROOTPMAP_ID
        " The client sets this to the pixmap id that it wants
        Enlightenment to paint for its window background.

     _XROOTCOLOR_PIXEL
        " The client sets this to the background colour that it wants
        Enlightenment to paint for its window background.

  5.2.4.5.

  Enlightened Compliance

     ENL_MSG
        " Set to True when there is a message waiting.

     ENLIGHTENMENT_DESKTOP
        "

     ENLIGHTENMENT_COMMS
        " Enlightenment's "Communicator" has this atom set so that you
        can determine which window to interrogate for internal
        Enlightenment messages.

  5.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.

  5.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.  The potential font designer will have
  to be careful with a choice of colour and tonality in order to make
  the font readable over and next to possibly busy graphics.  This gives
  fonts the capability of shading, radiant sheens, and other special
  effects.  They are in no way related to the fonts used by the X
  server. When the colour and contrast combinations are on, though, it's
  certainly melt-in-your-mind-not-in-your-hands eye candy.
  5.2.7.

  Sticky/Floating Windows

  Windows can now be made pinnable to the monitor.  The usual reference
  in other window managers is stickiness.  However, given the context of
  sliding desktops, a saner description would be floating windows as
  they gently keep floating when the desktops flip underneath.  See the
  ``Extended Hints'' section for the fly-swatting details on Stickiness.

  5.2.8.

  Floating Desktop Buttons

  The buttons that help you slide the desktops back and forth can be
  pinned to anything.  Since you need them if you use a pointing device,
  they are automagically floaters, and eventually swim to the top if you
  place anything on them.  They are small and require almost no room on
  your desktop, so placement is a matter of convenience in use, not
  arrangement since you can pin them to your titlebars, the sliding
  desktop roller bar (squeegie?) itself, or anything else.

  5.2.9.

  Enlightened Sound Daemon Integration

  This integration allows Enlightenment to bundle all of the
  capabilities of the ESD together and use them as it sees fit.  The
  features ESD brings include mixing from multiple sound sources and
  cached digital sample capabilities, much in keeping with the cached
  graphic capabilities of what Imlib "brought" to Enlightenment.
  Hopefully as more Enlightened applications appear, integration with
  ESD (and between themselves) will become more apparent and easily
  accomplished, as it can now be safely assumed that such sound support
  will always be there or handled gracefully.

  6.  Resources ...incomplete

  (hmmm... none yet for this development release)

  7.  Tutorial ...incomplete

  (ha! insert witty banter here)

  8.  FAQs for E-14

  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.
        Keep reading...

  3.

     How do I exit Enlightenment? Other keybindings?
        Alt-End.  Default for desktop sliding is Alt-Left or Alt-Right.
        Feel free to change it in test.c by replacing "AltMask" with
        "ControlMask" on the two lines if those are more familiar to
        you.  F12 allows the windows to be repositioned, usually more
        favourably, depending on the "arrangement" scheme chosen.
        Lastly, if you're lazy, and leave the desktops "half-open," hit
        Alt-Down and it'll close your current one for you--a great
        shortcut. (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> for the
        first release, and the second one is up at
        <http://heave.to/e14v2.jpg> and that's all I know of. Expect
        each of these to weight in at about 170K each

  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
        philosophy blends pretty well with my Enlightenment usage.

  7.

     The Enlightenment Sound Daemon is a requirement?

     But I have no sound card!
        Right now, it's a compilation requirement, not a running one,
        per se.  However, it won't activate itself when Enlightenment
        starts up unless you have a sound card, because it's a well-
        behaved daemon and we feed it only nice things.

     But I don't use Linux!
        ESD documentation says that it's only tested under Linux, and
        that IRIX support is officially on the way. Unfortunately, that
        leaves some of you out in the dark.  You have three options,
        according to your disposition and ability:

     o  The first beta release of E14 does not have this as a
        requirement, if you'd rather try a dry run at Enlightenment
        without it.

     o  Wait a week.  It might be optional, or ESD might have a "dummy"
        driver.

     o  Put an #ifdef around sound.c, and edit setup.c so that
        "mode.sound=1" is "mode.sound=0".  There might be more to this
        (massaging a Makefile out), but that's the cursory look.

  8.

     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.  The second release came out on the 16th if
        you hadn't noticed that one yet either.  You don't stay in
        often, do you?

  9.

     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 by absolutist measurements.
        This sometimes shifts the lowest windows a bit because it tries
        to shunt them aside as if to make room before moving first,
        unsucessfully.  This is actually due to the window's ICCCM
        "gravity" determining this falling.

  10.

     Why does the window disappear for a second?
        This only happens because the window "falls through" the other
        desktops before it gets raised again by X and redrawn by the
        window's owning programme.  Currently, we have no solution to
        this beside from smart use of Enlightenment if your load is
        heavy enough for this peekaboo to bother you: try using the
        lowest desktop as your "movers and shakers" desktop instead of a
        floating one.  Or use a series of "null" backgrounds that it
        can't fall through; after all, black and other solids are always
        in fashion on busy desktops. Maybe a better (through use or E-
        internal) solution will be thought of, or maybe not.

  11.

     Will I be able to use my 13.x configured themes with 14.0? Vice
        versa?
        At this time, it doesn't look like backward compatibility is in
        the outing, and running 14.0 themes in 13.x is certainly not
        possible without heavy modification.  An entirely new parser is
        being planned out by Mandrake (and Raster, of course).

-
To unsubscribe from this list send mail to: [EMAIL PROTECTED]
with the message contents: unsubscribe e-develop

Reply via email to