[compiz] Some suggestions for extra metadata

Mike Dransfield mike at blueroot.co.uk
Mon May 21 06:01:49 PDT 2007


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>

Regards
Mike



More information about the compiz mailing list