[compiz] Plugin Library Interface

Patrick Niklaus patrick.niklaus at googlemail.com
Wed Mar 7 11:30:41 PST 2007


2007/3/7, Mike Dransfield <mike at blueroot.co.uk>:
>
> It could also be disabled with an option, or at compile time.
>
> If it was a really big library then you could use dlopen, but this
> is just one function.
>

Doing it through an option would be a real mess in the settings
manager and just removing it at compile time would mean code becoming
very growed with defines.

>
> I do not think that such tight coupling of plugins will lead
> to a stable system.  The plugins should be unaware of each
> other as much as possible.  I do not see an awful lot of benefits
> over standard linking methods.  Adding a versioning scheme just
> sounds like you are reinventing the wheel.
>

Adding a versioning system isn't that hard in this case. Just storing
the size of the typedef containing the functions information should be
enough.

>
> There is incompatibility between compiz and beryl.  All that
> needs to be done is rip the textToPixmap function from text
> and add it to whatever plugin you want to draw text.  It provides
> the same functionality with very little overhead.  Then all the extra
> functions you have added will be removed.  Will the user be able to
> notice a difference?
>

Thats why I said I would provide a patch for Compiz as well. Are you
really saying code duplication is good? If the user could tell the
difference isn't relevant here, but it's much harder to maintain code
of you have copies of it in 4 source files. Making every plugin that
wants to draw text depending from pango is another bad thing.

>
> All you seem to have here is a beryl specific dynamic library
> loader.  If dlopen is too hard, then couldn't you write wrappers
> to make that easier?  That way everyone could benefit from your
> hard work.
>

See my answer above.

>
> This would make sense if you wanted to add textToPixmap
> to core and then use different plugins to wrap it, in the same
> way as the image plugins do now.  But this is not what you are
> proposing.  Maybe that could solve your particular text problem
> better?
>

I thought core should be kept as small and simple as possible?

Regards,
Patrick


More information about the compiz mailing list