From 175dd4ec364906445c3e9b1b551f202311c22b1a Mon Sep 17 00:00:00 2001 From: cpk Date: Sat, 17 Nov 2001 14:30:25 +0000 Subject: [PATCH] More doco ... SVN revision: 5712 --- doc/manual.raw | 257 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 210 insertions(+), 47 deletions(-) diff --git a/doc/manual.raw b/doc/manual.raw index 41a5a7fb9..c90254886 100644 --- a/doc/manual.raw +++ b/doc/manual.raw @@ -71,6 +71,52 @@ Here's how you use &e17;. +
+ Feature List + + At the moment, &e17; has not been released. The current feature list includes: + + + + A fully functional and mostly ICCCM-compliant windowmanager. + + + Multiple desktops (in the version 0.16 sense, so no large, + virtual desktop area yet). + + + Shading/unshading of windows. + + + Ability to browse files in your filesystem through view windows, + with recognition of the file types and appropriate icons. + + + 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. + + + + 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. + + + 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 not 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. + +
+
The Window Manager @@ -82,6 +128,26 @@
+ +
+ Themeing +
+ Overview + + +
+
+ System Settings + + +
+
+ User Settings + + +
+
+ @@ -89,36 +155,6 @@ This chapter explains the inner workings of &e17;. - -
- &e17; Architecture -
- Overview - - - - - - - - - - - Image of &e17; Architecture - - - &e17; Architecture. - - - - -
-
- Modules - - -
-
Building &e17; @@ -152,6 +188,10 @@ An incomplete tree of the current CVS contents is shown below. + For details about the modules, please refer to the + Modules + section below or the + webpage. e17 @@ -237,10 +277,15 @@ e17 - 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. + + There's no real reason to build those packages 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. + + To build, you need recent versions of the following GNU tools: @@ -265,26 +310,138 @@ e17 prone to errors.
+ +
+ &e17; Architecture +
+ Overview + + + + + + + + + + + Image of &e17; Architecture + + + &e17; Architecture. + + -
- Themeing -
- Overview -
-
- System Settings - - -
-
- User Settings +
+ Modules + + + + e + 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. + + + + ecore + 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. + + + + evas + 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. + + + + ebits + 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. + + + + edb + 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. + + + + efsd + 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. + + + + imlib2 + 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. + + + + imlib2_loaders + 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. + +
+
+ Scripting &e17; + + &e17; provides hooks to allow script interaction with the core systems, + using the Ferite scripting + language. There basic scripting support is in the code now, but it's + too early to think about writing larger scripts. + +
+
Code Documentation !Isrc/actions.h @@ -301,8 +458,14 @@ e17 !Isrc/observer.h !Isrc/place.h !Isrc/view.h -
+ +
+ Roadmap + + +
+