[compiz] solving plugin dependency issues

David Reveman davidr at novell.com
Fri Oct 6 15:56:02 PDT 2006


The dependency checking currently provided is clearly not good enough.
There's currently two issues with the plugins that exist in the compiz
repository.

plane plugin conflicts with cube and rotate plugin, zoom plugin should
probably work with either cube or plane but currently only loads when
cube plugin is used.

Adding a
{ CompPluginRuleBefore, "cube" }
to the plane plugin and a
{ CompPluginRuleBefore, "plane" }
to the cube plugin will solve the conflict but it's not perfect as it
means that all plugins sort of needs to be aware of all other plugins.

Having the zoom plugin load if either the cube plugin or the plane
plugin is loaded is currently not possible.

I'm suggesting that we add some way to register and depend on features.
E.g. the cube and plane plugins would both register a "largedesktop"
feature. zoom plugin could depend on the "largedesktop" feature instead
of the cube plugin and it wouldn't be possible to load two plugins that
provide the same feature.

Adding a feature list to the plugin vTable and a
CompPluginRuleNeedFeature rule that can be used to depend on specific
features should do it.

-David



More information about the compiz mailing list