elife - Game of life as e17 background

Support for reacting to local machine activity can be compiled optionnaly
(disabled by default).
See section "Glouglou support".

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


Enlightenment 0.16.999 (aka e17)


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
./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


* 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.

	At each life cycle, grid_evolution() gets called


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)