aboutsummaryrefslogtreecommitdiffstats
path: root/gg_elife/README
blob: 1906131c7903f283d17b8b14eb9d772b11ae438c (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
elife - Game of life / Living graphic
v1.2

Packaging and general structure from EEnvader.fractal by Boris Faure <billiob@gmail.com>
Many thanks to you Boris !

Dependencies
============

Enlightenment 0.16.999 (aka e17)

Install
=======

./autogen.sh
make
sudo make install

"elife" will then appear in the "System" category of e17 wallpapers configuration panel.
A binary called "elife" is also created and installed to run elife in standalone.

Glouglou support
================

To enable glouglou support, pass --enable-glouglou to automake scripts :
./autogen.sh --enable-glouglou
OR
./configure --enable-glouglou

You will need libglouglou and glougloud

Elife slows down my e17 !
=========================

elife is running in the same process as e17 therefore it can slow down the
whole window manager, depending on your machine CPU.

To improve this, you can:

* Use OpenGL rendering in e17 by using the Composite module, and set the engine
to OpenGL in Composite > Rendering pannel

* Reduce the size of the elife grid by modifying the source code, in
src/elife_evas_smart.c at the definitions of NCELL_X and NCELL_Y

TODO
====

* make install without sudo rights
* make a gadget

Code organisation
=================

The core code is in src/elife_evas_smart.c
All the other files are here to build standalone binary and edje file.

src/elife_evas_smart.c
	At each life cycle, grid_evolution() gets called

Ideas
=====

freenode #e
20:08 < loran> for the moment each cell is an evas_object. having the whole grid as one evas object and filling polygons manually (i'll take a look at seed 
               algorithm) might be faster, not sure
20:10 < loran> but if i can have opengl rendering for the background with composite module for example, then i will improve other parts of elife, like having cell
               created on external events like new processes, packets blocked by firewall, ...
20:10 < loran> :p
20:15 < drohan> it sounds interesting, but for future reference, you need a way to gain trust from the users, a background that uses cpu is not trusted, if you 
                change it as a widget or something else or try to comment all the code so the users can see what you are doing with it
20:16 < loran> haha good point :p
20:17 < drohan> and even then you will have a little problem with trust, change everything so you don't have to install it system wide, just local .e dir
20:17 < loran> i think you can run make install without system rights
20:17 < loran> without sudo

Optimisation ideas:
* one evas_object_rectangle, manualy write memory inside it (DONE)