[compiz] Some suggestions for extra metadata

David Reveman davidr at novell.com
Thu May 31 08:43:54 PDT 2007


On Mon, 2007-05-21 at 14:01 +0100, Mike Dransfield wrote:
> 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>
> 
> *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>
> 
> 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.
> 
> <matchhandler>
>     <handler>
>         <match>title</match>
>        <!-- optional command to be run to get the attribute for a window -->
>        <command>xprop | grep ^WM_NAME | ...</command>
>     </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>
> 
> *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>
>     <!-- 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>

Some good ideas here. I suggest that we add things as a use for it is
implemented and not add everything we can think just in case it might be
used.

I recommend that any configuration or control utility that is interested
in compiz metadata is implemented in such a way that in can include it's
own set of additional metadata for known plugins. New tags can first be
added to the additional metadata files and if they make sense and are
useful for other configuration utilities we'll move them into the
official metadata files.

-David



More information about the compiz mailing list