summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorcpk <cpk>2001-11-17 14:30:25 +0000
committercpk <cpk@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2001-11-17 14:30:25 +0000
commit175dd4ec364906445c3e9b1b551f202311c22b1a (patch)
treecc2da64fa0b63acbaab6dcda3c0b32581d92cd21 /doc
parenta54aebca8ebc844cd495bdcee0f927621799c5ae (diff)
downloadenlightenment-175dd4ec364906445c3e9b1b551f202311c22b1a.tar.gz
More doco ...
SVN revision: 5712
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.raw251
1 files changed, 207 insertions, 44 deletions
diff --git a/doc/manual.raw b/doc/manual.raw
index 41a5a7fb9d..c902548865 100644
--- a/doc/manual.raw
+++ b/doc/manual.raw
@@ -71,6 +71,52 @@
Here's how you use &e17;.
</para>
+ <section id="features">
+ <title id="features.title">Feature List</title>
+ <para>
+ At the moment, &e17; has not been released. The current feature list includes:
+
+ <orderedlist>
+ <listitem>
+ <para>A fully functional and mostly ICCCM-compliant windowmanager.</para>
+ </listitem>
+ <listitem>
+ <para>Multiple desktops (in the version 0.16 sense, so no large,
+ virtual desktop area yet).</para>
+ </listitem>
+ <listitem>
+ <para>Shading/unshading of windows.</para>
+ </listitem>
+ <listitem>
+ <para>Ability to browse files in your filesystem through view windows,
+ with recognition of the file types and appropriate icons.</para>
+ </listitem>
+ <listitem>
+ <para>Support for icon bars in each view window. These are
+ collections of icons for commonly needed applications or documents
+ in a directory. For example, in a directory with lots of images
+ you will want to have image viewers ready, in a directory with
+ MP3 files you'll want music players etc. The icon bars keep
+ those applications where you need them.</para>
+ </listitem>
+ </orderedlist>
+
+ This feature list should not imply that &e17; is ready for public use
+ yet. Many more features are in development, but their configuration
+ is currently hard-coded. If you want a fancy windowmanager with
+ full configurability, you best stick to the currently stable 0.16.5
+ release.
+ </para>
+ <para>
+ Please do not come to the mailing lists and ask for release dates etc.
+ &e17; will be released when it has matured to a stable system that is
+ usable also for novices. &e17; will <emphasis>not</emphasis> be as
+ rich in features as the 0.16 series -- we intend to produce a simple,
+ stable desktop shell for that release. Funky features will be considered
+ for the 0.18 release.
+ </para>
+ </section>
+
<section id="wm">
<title id="wm.title">The Window Manager</title>
<para>
@@ -82,43 +128,33 @@
<para>
</para>
</section>
- </chapter>
- <chapter id="inside">
- <title>Inside &e17;</title>
- <para>
- This chapter explains the inner workings of &e17;.
- </para>
-
- <section id="architecture">
- <title id="architecture.title">&e17; Architecture</title>
- <section id="overall">
- <title id="overall.title">Overview</title>
+ <section id="concepts">
+ <title id="concepts.title">Themeing</title>
+ <section id="overview">
+ <title id="overview.title">Overview</title>
<para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="figures/architecture.eps" format="eps">
- </imageobject>
- <imageobject>
- <imagedata fileref="figures/architecture.gif" format="gif">
- </imageobject>
- <textobject>
- <phrase>Image of &e17; Architecture</phrase>
- </textobject>
- <caption>
- <para>&e17; Architecture.</para>
- </caption>
- </mediaobject>
-
</para>
</section>
- <section id="modules">
- <title id="modules.title">Modules</title>
+ <section id="system">
+ <title id="system.title">System Settings</title>
+ <para>
+ </para>
+ </section>
+ <section id="user">
+ <title id="user.title">User Settings</title>
<para>
</para>
</section>
</section>
+
+ </chapter>
+
+ <chapter id="inside">
+ <title>Inside &e17;</title>
+ <para>
+ This chapter explains the inner workings of &e17;.
+ </para>
<section id="build">
<title id="build.title">Building &e17;</title>
@@ -152,6 +188,10 @@
</para>
<para>
An incomplete tree of the current CVS contents is shown below.
+ For details about the modules, please refer to the
+ <link linkend="modules" endterm="modules.title">Modules</link>
+ section below or the
+ <ulink url="http://www.enlightenment.org/pages/components.html">webpage</ulink>.
<programlisting>
e17
@@ -237,10 +277,15 @@ e17
</listitem>
</itemizedlist>
- There's no real reason to build those from source, it's a lot easier
- to just install the packages of your distribution. Do not forget to
- install the development packages as well, or necessary C header files
- won't be available during the build.
+ <note>
+ <title>There's no real reason to build those packages from source.</title>
+ <para>
+ It's a lot easier
+ to just install the packages of your distribution. Do not forget to
+ install the development packages as well, or necessary C header files
+ won't be available during the build.
+ </para>
+ </note>
</para>
<para>
To build, you need recent versions of the following GNU tools:
@@ -265,26 +310,138 @@ e17
prone to errors.
</para>
</section>
-
- <section id="concepts">
- <title id="concepts.title">Themeing</title>
- <section id="overview">
- <title id="overview.title">Overview</title>
+
+ <section id="architecture">
+ <title id="architecture.title">&e17; Architecture</title>
+ <section id="overall">
+ <title id="overall.title">Overview</title>
<para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/architecture.eps" format="eps">
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="figures/architecture.gif" format="gif">
+ </imageobject>
+ <textobject>
+ <phrase>Image of &e17; Architecture</phrase>
+ </textobject>
+ <caption>
+ <para>&e17; Architecture.</para>
+ </caption>
+ </mediaobject>
+
</para>
</section>
- <section id="system">
- <title id="system.title">System Settings</title>
+ <section id="modules">
+ <title id="modules.title">Modules</title>
<para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <para><command>e</command></para>
+ <para>This is the main &e17; applicaton. It handles managing
+ of windows, launching applications, managing icons and files
+ on your desktop and in directories, drag and drop etc.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>ecore</command></para>
+ <para>Ecore is a convenience library. It handles
+ abstracting X calls so you don't have to pass as many parameters to them. It
+ wraps lots of other sequences of X calls you want to do often, handles
+ caching local geometry of windows to save extra X traffic, abstracts X's
+ events and adds a timer system to be able to do timeouts, handles the core
+ event loops, abstracts signals into being events in the event queue, and lets
+ you arbitrarily add other file descriptors to the loop to listen on and have
+ handlers be called when they become active, and much much more. Ecore also
+ handles filtering events and calling idle handlers when appropriate. Ecore is
+ just what it says - a very complex CORE subsystem. It is all callback based,
+ and keeps everything abstracted - but does not move away from normal X11
+ primitives like other abstractions (GDK for example), thus keeping 100%
+ compatibility with normal Xlib stuff. The core innards of E17 rely heavily on
+ Ecore and its ability to not just work, but work well and optimize silently for
+ E17.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>evas</command></para>
+ <para>Evas is a canvas abstraction that uses Imlib2, as well
+ as OpenGL, and X11. It serves as a canvas accelerator and abstraction and
+ does the job really well. It has made building the rendering parts of
+ &e17; a lot easier.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>ebits</command></para>
+ <para>Ebits is a higher-level abstraction of image groups
+ built on top of Evas. Basically it's what the old E16 window border logic
+ was - but on steroids. It can do a lot more and is being used as the
+ basic building block for all widgets in E17. Etcher is a GUI editor that
+ can edit Ebits files - thus letting you have a nice GUI to
+ design your widgets, window borders etc. in.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>edb</command></para>
+ <para>Edb is a database abstraction layer to Berkeley
+ DB. Edb contains the source for DB 2.7.7, thus freezing the database
+ format on disk, making sure it will never become incompatible (as is a habit
+ of the DB interface in libc). Edb wraps this with a convenience and
+ optimization API layer, making database access easy, fast and consistent. It
+ handles typing of information in the database and much more. Edb is *VERY*
+ fast and all of E17 configuration management is built on top of it -
+ every configuration file is a database - including Ebits files. Also,
+ Efsd stores its metadata information in Edb databases.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>efsd</command></para>
+ <para>Efsd is the file system abstraction layer. It is a
+ library and a daemon process that the library communicates with for the
+ calling process (in this case E17). It handles all filing system interaction
+ in an asynchronous manner, so E17 isn't ever left blocking on basic IO
+ requests. It handles copying, renaming and deleting of files. Also listing of
+ directories, monitoring for changes in directories, retrieving stat
+ information on files, as well as metadata retrieval and modification for
+ files. All of this is done in an asynchronous request/event system thus
+ keeping E17 free to handle user interaction as much as possible while Efsd
+ does the nasty IO work.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>imlib2</command></para>
+ <para>Imlib2 is the abstraction layer that handles the
+ raw nasty work of loading images, saving them, rendering them to a drawable
+ or blending and scaling them onto other images, software anti-aliased
+ truetype fonts and other goodies. This one is pretty much done and finished
+ with. It gets minor updates and fixes as needed, but otherwise is left alone.
+ </para>
+ </listitem>
+ <listitem>
+ <para><command>imlib2_loaders</command></para>
+ <para>This is a collection of loaders that are not packaged with Imlib2
+ due to licensing issues or because the loaders are not commonly needed enough.
+ It currently contains a loader for Edb files (where images can be accessed
+ through character string keys) and a loader for Gimp's native XCF image
+ format.</para>
+ </listitem>
+ </itemizedlist>
</para>
</section>
- <section id="user">
- <title id="user.title">User Settings</title>
+ </section>
+
+ <section id="scripting">
+ <title id="scripting.title">Scripting &e17;</title>
<para>
+ &e17; provides hooks to allow script interaction with the core systems,
+ using the <ulink url="http://www.ferite.org">Ferite</ulink> scripting
+ language. There basic scripting support is in the code now, but it's
+ too early to think about writing larger scripts.
</para>
- </section>
</section>
-
+
<section id="code">
<title>Code Documentation</title>
!Isrc/actions.h
@@ -301,8 +458,14 @@ e17
!Isrc/observer.h
!Isrc/place.h
!Isrc/view.h
+ </section>
+ <section id="roadmap">
+ <title id="roadmap.title">Roadmap</title>
+ <para>
+ </para>
</section>
+
</chapter>
</book>