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
