[compiz] Some suggestions for extra metadata
Dennis Kasprzyk
onestone at opencompositing.org
Mon May 21 07:44:59 PDT 2007
Am Montag 21 Mai 2007 15:01:49 schrieb Mike Dransfield:
> Here are a few extra attributes which I have not seen mentioned yet
> which I think would be useful. Any comments would be appreciated.
>
> *Version*
>
> The version of the plugin, I think the reasons for this are obvious.
>
> <version>
> <major>0</major>
> <minor>1</minor>
> <patch>0</patch>
> </version>
A more general plugin info struct should be better
<info>
<author>bob "bob at bar.com"</author>
<author>alice "alice at bar.com"</author>
<license>GPL</license>
<version>0.1.0-git</version>
<infourl>http://www.example.com/plugin-info.html</infourl>
</info>
>
> *Addition to features*
>
> Just add an attribute to the features tag so that features can be unique
> or non-unique. This will mean that we can add lots more features
> like 'config', 'matchhandler', 'imageloader' etc etc. They need to be
> defined somewhere so that plugin developers can check a list of
> official features like this (whilst still adding their own if needed).
>
> <feature unique="true">largedesktop</feature>
>
We should handle <feature> not as uniqe and use conflict feature rules for
features that should be unique.
> This should default to true if not provided.
>
> *Match Handler Tag*
>
> If a plugin provides window matching functionality then it could provide
> tags like this.
>
I see no reason for this.
> <matchhandler>
> <handler>
> <match>title</match>
> <!-- optional command to be run to get the attribute for a window
> --> <command>xprop | grep ^WM_NAME | ...</command>
This is a big security risk.
> </handler>
> <handler>name</handler>
> etc...
> </matchhandler>
>
> *Option Group*
>
> Some plugins and the core have options which work in groups. Hints
> can be provided to group these options so that configuration tools
> will be able to display them as a grid rather than as individual options.
>
> <optiongroup>
> <option name="opacity_match" />
> <option name="opacity_values" />
> </optiongroup>
>
What about the subgroup tag that we already use in the opencomposite.org
plugins?
<subgroup>
<short>Foo</short>
<option name="opacity_match">
...
</option>
<option name="opacity_values">
...
</option>
</subgroup>
The setting application should detect if all options in a subgroup have the
list type and provide the right interface for it.
> *Web based information*
>
> I think it would be a very nice feature to add some web based
> attributes which means things can be easily updated without
> the user updating the plugin. There are probably others that
> could be added.
>
> <info>
> <!-- xml file with update info -->
> <updateurl>http://www.example.com/plugin-update.xml</updateurl>
Security risk again.
Distributions don't like individual binary update systems.
> <!-- html page with additional information about the plugin -->
> <infourl>http://www.example.com/plugin-info.html</infourl>
> </info>
>
> <screenshots>
> <screenshot
> mime="text/html">http://www.example.com/plugin.html</screenshot>
> <screenshot
> mime="image/jpeg">http://www.example.com/plugin.jpg</screenshot>
> <screenshot
> mime="application/swf">http://www.example.com/plugin.swf</screenshot>
> </screenshots>
>
This should be on the plugin info page and not part of the metadata.
Regards
Dennis
More information about the compiz
mailing list