I'm posting here to let you all know that a big elements plugin
rewrite is coming up.

For those of you who don't know, 'elements' was a plugin written by
PatrickFisher about
a few months ago which was an attempt to bring together all of the
arbitrary particle
movement plugins to form one big plugin which is managed by itself.
The idea is a good
one, however I was concerned with the implementation of it (as it
currently stands) and
also the fact that it hasn't been updated in a few months. Now that we
have extension plugins,
this gives me a good oppurtunity to make elements more flexible and
modular as well as
learning the extension plugin system while cornelius and I work on
animation in the future
(hopefully).

Here's what I plan to do, hopefully within the next 2 weeks:

* Right now, all the snow, fireflies, stars code is too tightly
integrated. I am currently modularizing
this out into separate functions for each movement pattern. Some
movement patterns even use
the same variables! (For example, bubbles uses the 'AutumnSway'
variable, which is clearly wrong
according to coding practice)
* I also aim to have a generic function ABI, so that each element
extension plugin can have a function
table with a bunch of function pointers to generic functions (move,
intiate, step etc).
* Export compiz-elements.h (duh)
* Much like compiz, for an element allocated to an extension plugin
(one element per plugin), they
  attach their own structure to the 'ptr' variable in the struct,
allowing them to save data and calculate
  X/Y/Z values more easily
* Extension plugins in compizconfig for elements would be rather easy,
just export the element movement
  pattern as a restricted string base_option to a selection box (much
like animation)
* Multi-List settings: Element movement pattern and texture path would
be our two options (perhaps a
  speed factor too? Discuss please =) )
* Clean up code to make it more compiz-like. Right now, it's rather
non-conforming =)

This is what my ideas look like for now, please discuss. I have
already started working on this.

-- 
Sam Spilsbury
_______________________________________________
Dev mailing list
[email protected]
http://lists.compiz-fusion.org/mailman/listinfo/dev

Reply via email to