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