EDE code
Go to file
Sanel Zukan 7ff8841ea8 A lot of changes, especially the ways how screen is repainted (in composite).
Composite will now draw only damaged regions, and their damage is (now) correctly
reported, mostly due changes in main FLTK loop.

Also there are two ways how evoke will be running: if USE_FLTK_LOOP_EMULATION
is defined (default yes), it will fully emulate FLTK loop (as done before). Oposite 
way (without emulation) it will relay on FLTK message passing, but it is very unpredictable 
since FLTK will sometime miss SelectionClear events (XSETTINGS relay on it), probably due
large XDamageNotify throttling. When emulation is used, there are no such problems
since all events are processed before they are routed to FLTK.

In composite is added another way of repainting (when USE_CHECK is defined), and it will
relay on Fl::add_check() function; there are some differences between this function
and timer used for screen refresh. Timer will try to refresh it every XX ms and when
there are large number of XDamageNotify reports, this will not be suitable for 
movements smoothing on the screen; on other hand add_check() will call callback every
time when event is processed, which brings smooth movements. For now only timer is used
untill I finish compositing stuff.

Also composite will handle messages from it's own add_handler() since (somehow), all pending
XDamageNotify events will not be correctly reported inside EvokeService handler.

And about splash... splash will now keep it's window at the top, no matter what window is
raised. This is a small hack until I implement _NET_WM_WINDOW_TYPE_SPLASH in edewm (I don't
have to say that this hack works for all wm's I tested :P).

Sound from splash is removed; reason for this is when evoke starts childs (only when X session
was started), device descriptors will be used by childs too making sound device unusable and 
marked as busy. This can be solved by using better sound library, which is story for itself...
2008-01-14 12:50:30 +00:00
build Imported eabout, a small program that displays current EDE version, authors, contibutors, etc. 2008-01-14 12:02:43 +00:00
datas Better icon conversion code with new rule. 2007-12-07 17:01:22 +00:00
docs Added evoke link 2007-07-31 15:42:53 +00:00
eabout Imported eabout, a small program that displays current EDE version, authors, contibutors, etc. 2008-01-14 12:02:43 +00:00
ecalc Don't know how I missed SciCalc.h compilation errors. 2007-07-20 15:48:49 +00:00
ecolorconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
econtrol Synced with edelib changes 2007-08-21 12:17:35 +00:00
ecrasher Added external crash handler 2008-01-05 13:23:04 +00:00
edesktopconf New settings code 2007-11-06 14:34:15 +00:00
edewm Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
edialog Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
edisplayconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
efiler Fix for previous commit. This is what happens when you commit code without 2007-09-05 11:19:01 +00:00
efinder Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
eiconman Let trash icon be updated when something is deleted. 2007-11-28 12:42:52 +00:00
eimage Removed title box from menu 2007-12-12 13:02:35 +00:00
einstaller Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
ekeyconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
elauncher Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
emenueditor Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
epanelconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
esvrconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
etimedate Resurrect etimedate: 2007-09-05 19:51:01 +00:00
etip Imported eabout, a small program that displays current EDE version, authors, contibutors, etc. 2008-01-14 12:02:43 +00:00
evoke A lot of changes, especially the ways how screen is repainted (in composite). 2008-01-14 12:50:30 +00:00
evolume Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
ewmconf Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
eworkpanel Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
exset Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
m4 Added initjamfile.m4 from autojam, so make specific 2007-03-19 14:36:18 +00:00
tools Moving. 2007-03-16 15:48:33 +00:00
AUTHORS Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
BUGS Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
ChangeLog Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
configure.in Added checks for headers/functions/tools used by elauncher. 2007-03-22 17:14:54 +00:00
COPYING Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
edeconf.h.in Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
HACKING.txt Imported asciidoc, jam builds and some docs. 2007-07-18 13:21:52 +00:00
INSTALL Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
install-sh Removed some junk after my connection broked. 2007-03-15 12:50:18 +00:00
Jamfile Imported eabout, a small program that displays current EDE version, authors, contibutors, etc. 2008-01-14 12:02:43 +00:00
Jamrules Imported edeneu theme. 2007-12-06 15:54:24 +00:00
Makefile Removed obsolete makefiles. 2007-09-27 13:58:59 +00:00
mkinstalldirs Removed some junk after my connection broked. 2007-03-15 12:50:18 +00:00
NEWS Now did a real chmod -x. 2007-03-15 01:06:18 +00:00
prepare New configure facility. 2007-03-17 11:28:25 +00:00
README.alpha Update README and my .plan with stuff from past 12 months... 2007-09-06 13:06:34 +00:00
vedran.plan Update README and my .plan with stuff from past 12 months... 2007-09-06 13:06:34 +00:00

README for EDE 2.0 pre-alpha
============================

($Id$)

Please read this document before using or contributing to EDE 2.0 source code
before or during 2.0alpha release.


Build requirements
------------------

EDE 2.0 is using fltk1 toolkit from www.fltk.org. At the time of this writing, 
last released version was 1.1.7 and 1.1.8 was coming really soon. We 
recommend using the latest daily snapshot - they are extremely stable and 
that's what we use internally - although 1.1.7 should work too.

Nevertheless, we will (soon) keep our own "fork" called fltk-copy which is 
basically the last SVN snapshot of fltk that EDE is known to work with. If 
there are any patches required for proper EDE functioning, you should find 
them in fltk-copy/patches/ tree. Further instructions will be in 
fltk-copy/README.EDE

Since fltk lacks many things needed for developing a full *nix desktop 
environment, we have developed a small add-on library called edelib. This 
library is also required for compiling EDE2. It should be released together 
with EDE. We *strongly* recommend that you use matching versions of ede and 
edelib (e.g. released at the same time) or that you do SVN checkout at the 
same time.

Make sure you have efltk installed, because some packages still requires it.

Also you will need Jam utility. Jam is a make replacement and removes a lot 
of its limitations. Current EDE source can be built either via jam or make, 
but note that make builds will be soon removed. 

Jam can be downloaded from our repository.


Compiling
---------

At the moment, certain modules in EDE do not compile! In order to build and install
EDE do the following steps:

1. 	./prepare

2.	./configure [OPTIONS] (we suggest using --enable-debug)

3. (old method, soon will be removed)
 
  Go into directories of individual modules and compile them. Type
	cd $MODULE; make; make install; cd ..

  Since developers don't use make anymore, this method could get broken 
occasionally.

3. (new method, default)

	jam

  "jam install" is not finished yet. You can use various programs from 
their work directories, or copy them into e.g. /usr/bin


Stuff that isn't updated (requires efltk)
-----------------------------------------

- edewm
- eworkpanel
We are in the process of rewriting these modules from scratch. Please use edewm
and eworkpanel from EDE 1.x (it should work without major problems).

- efinder
It will be ported to fltk1 as soon as we finish efiler (see below) cause we 
would like to use same widgets for displaying file list.

- emenueditor
It will either be completely rewritten or removed, because EDE 2 will use XDG menus
(FreeDesktop.org).

- e*conf
Many of the control center applets will be dropped or replaced with something 
else. epanelconf obviously depends on eworkpanel which is not yet finished.


New modules in EDE 2.0
----------------------

- edialog
Command line utility for displaying dialogs (useful for scripting). It is very
UNFINISHED.

- efiler
Simple and lightweight file manager. Currently it's fully functional, but we 
plan some more features.

- eimage
Small image viewer. Likewise, functional but a few features will be added.

- ecalc
Scientific calculator.


Contributors wanted
-------------------

We would very appreciate help from contributors willing to take any of following 
tasks:

  - Port efinder to fltk/edelib and become its maintainer
  - Write new enotepad using editor from fltk/test (I believe this is easier than
porting old enotepad from efltk to fltk) and become its maintainer
  - Propose new designs for econtrol and eworkpanel (that are realistic to implement
with fltk, ofcourse :)
  - Find any old ede application, port to fltk/edelib and become its maintainer
  - Find useful fltk apps on www.fltk.org and see if they can be ede-ified

Also, EDE code is sparkled with comments starting with TODO and FIXME - 
please see what of that you can do (just type e.g. "grep TODO . -R"). EDE 
coding standards and EDE HIG documents are being prepared.