summaryrefslogtreecommitdiff
path: root/README
blob: 5e7cfd6d7c8e9f3b536f67960f41ab168b18a7f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
-------------------------------------------------------------------------------
                       Enlightenment 0.17.pre CVS Code....
-------------------------------------------------------------------------------
       The Rasterman - raster@valinux.com, raster@rasterman.com

*******************************************************************************
**************** READ THIS! It is of the UTMOST IMPORTANCE! *******************
*******************************************************************************

This is the source code for Enlightenment 0.17 - If you got this you got it
from Enlightenment's CVS repository - or from someone who took it out of
the CVS repository.

The CVS repository is full of code *IN DEVELOPMENT* - that often means it's
in the middle of being worked on and may install strange things in strange
places, make a mess, and may not even be compatible with a final release. If
you at all use this code, you are HEAVILY URGED, when it is finally released,
to remove all traces of anything this CVS code base has installed on your
system (it is COMPLETELY up to you to keep track of that - do NOT expect any
help), and then install the full release on a cleaned system. Don't come
asking "can I just keep using CVS" once things are released - that is the
reason I put this paragraph here - so you don't ask. The asnwer is the same
as above - if there is a proper final release use that. CVS is really only
for those havily hacking on the code, or whose curiosity is too much to resist
not giving it a look and try.

Now we have that warning over and done with. How to build and install from
CVS?

$ ./autogen.sh && make
$ su
Password:
<- as root ->
# make install

You should be able to use the binary of enlightenment as a window manager.

you might be advised for cleanliness to do
$ ./autogen.sh --prefix=/usr/local/e-17

so it installs relative to the /usr/local/e-17 directory and keeps all the
e-17 development code and data in that tree so it is easily removed when the
time comes.



NOTES: Read these carefully!

Enlightenment does not check for previously running Window Managers right
now - so you need to make sure no other WM is running - E will not do that
for you.

Enlightenment has no keybindings right now, but does have a primitve menu for
launching some applications. It is configurable - it's in a database file
and tere is a script that builds this menu - you could build a new one after
editing the script or do whatever your like.

Enlightenment only handles a small subset of ICCCM and thus will have bugs -
some applications will not behave correctly and may appear in odd spots or
not resize or place themselves properly etc. Expect this - it's code being
worked on. Just be happy it does as much as it already does.

Enlightenment RELIES on lots of libraires that have been written. Ecore,
Ebits, Evas, Edb, Imlib2, Efsd just to mention a few. Especially Ebits,
Ecore, Efsd and Evas change in CVS often - you will need the absolute latest 
of these if you wish Enlightenment 0.17 code to run properly or compile. If 
you update Enlightenment from CVS update these too to get any changes they 
have in their trees.

If you plan on working on the code... STOP! don't rush in and work on it -
even if you have CVS commit access - EXPECT me (Raster) to revert any changes
you make if you do this - regardless of the changes and how much work you
put into them. First read the code well and LEARN it. If you have questions
about some of the more obscure hidden program flow - ASK - but don't go
tampering with it - Enlightenment 0.17's code is much more complex and
intricate than E 0.16 - but at the same time it's much cleaner and more
object oriented. Learn it well first. Some parts of E 0.17 are "hacked" with
hard-coded stuff, just so, for now, it works. They will be virtualized and
imporved over time. If you have plans - tell me about them first - discuss
them before you go impliment them - once you've discussed them and we all
aree on how it should be done, you can go ahead and do it. I know I already 
have a lot of the components of E 0.17's code planned in my head - but I 
won't get to them for a while - and if people go impliment or hack bad stuff 
in, it means I have to spend lots of time fixing something that is bad in the 
first place, or we end up doing duplicate work. There *IS* a plan - believe 
it or not - but to be honest - it's more complex and large than I can just 
write down in a README, so talk about your ideas first. I'm going to be 
ruthless in keeping the code neat, clean and free of nasty hacks (except ones 
I put in as temporary stop-gap measures to make the thing work - since I know 
where those are and what I need to do to do it right). If you can't find me 
or I don't reply to your e-mail - don't get impatient - just wait. I currently
have no network access at home, so I'm doing a chunk of code offline. I'll
get to your mail and queries as time allows.

If you have problems with the code or bugs to report, kindly forward them to
/dev/null (the code is in now way or form ready for bug reports - I don't
want crap filling my mailbox), unless its a patch hat fixes a silly bug
somewhere. Only experienced people should in any way consider sending a bug
report as I need useful reports, not junk cluttering my mailbox.

I hope that clears things up for now.

In the meantime - have fun.