Adding new options to a plugin is a pain. There is a lot of code that has allways to be changed for that. This is the reason why I've created the Beryl/Compiz XML options parser (bcop). Bcop allows you easily to describe options in XML and will autogenerate the needed Beryl/Compiz C code for you. The only think that needs to be changed in a existing plugins is to include the xxx_options.h file. The autogenerated code appends the new options to the existing options, this gives the possibility to handle some special cases in the plugin directly.
I have not found the time to write a README that describes the functionality, but there is a "example.options" file ("bcop [--compiz] example.options" will generate example_options.h and example_options.c). The most interesting parts are the automatic handling of restricted strings (type="enum") as enum and the handling of restricted string lists (type="selection") as masks. Reading the autogenerated code should not be that hard. The group,subgroup and hints XML keys are only used for beryl code generation. I have also added a new version of my generic plugins Makefile that now handles Beryl and Compiz, multiple source files and the bcop interface. You can checkout the code from Beryl svn with: svn co svn://svn.beryl-project.org/beryl/trunk/bcop/ The whole system is not well tested yet. I've created a bcop component in the beryl bug tracker at http://bugs.beryl-project.org please report bugs and problems there. Dennis "onestone" Kasprzyk _______________________________________________ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz