[compiz] Metadata additions

Dennis Kasprzyk onestone at opencompositing.org
Wed Jul 11 18:54:52 PDT 2007


With this mail I would like to make a proposal to add additional informations 
to the core and plugin metadata files. Currently these tags are already 
handled in the ccs configuration system. Ccs  automatically adds this 
informations to the core/plugin option set, but I think that it would make 
more sense to add this to the official files, to allow similar features in 
other configuration systems. 

1.) Group and subgroups:

<plugin>
  <display>
    <option .../>
    <option .../>
    <group>
      <short>This is a functional group</short>
      <option .../>
      <option .../>
      <subgroup>
         <short>This options belong together</short>
         <option .../>
         ...
      </subgroup>
    </group>
...
There are often a lot of different opinions how options should be grouped, but 
this could be discussed after we have decided to add group/subgroup tags.
Currently the core has two lists (opacity_matches and opacity_values) that 
should be handled together, because the opacity of the opacity_values list 
will be assigned to the corresponding match in the match list. In ccs we 
automatically combine such values if all options inside a subgroup have the 
list type, but we could also add a combine=”true” attribute to the subgroup 
tag, to make this functionality configurable.

2.) Option hints:

A string option (there may be others too) can be used for different things 
like commands,files, and images. To allow a configuration to handle such 
options in a spacial way (open a file open dialog), I would like to add a 
<hints> tag to such options. The hints tag would contain a semicolon 
separated list of strings that inform the configuration system to handle this 
options in a special way. These are the possible hints:

command; = open a file dialog to select an executable file
image; = open a file dialog that already filters all image files that are 
currently supported by currently loaded image plugins and shows previews of 
the images
file; = open a file dialog that allows you to select any file
file:txt,doc; = open a file dialog that allows you to select *.txt and *.doc 
files

3.) Plugin categories:

Currently we have a lot of plugins and we will have more in the future. I 
think that it makes sense to group plugins to functional categories 
like “Effects”, “Window management” and “Image loaders”. A <category> tag 
could be added the <plugin> section to achieve this functionality. There are 
currently 3 different ways how the contents of this tag could be handled:
- We define short category definitions like fx,wm and image and the 
configuration system will need to have the “long” names and their 
translations.
- We add directly the English long category names like “Effects”, “Window 
management” and “Image loaders”, and the configuration system will need to 
have translations for them. This has the disadvantage that the configuration 
system would need to have a list of all long names to be able to 
automatically generate a .pot file for translations.
- We add long category names to the metadata and translate them with the 
current translation system like we do for option descriptions. This has the 
disadvantage that plugins from different sources could also have different or 
none translations for the same category and the configuration systems would 
need a way to find the best solution.

Dennis


More information about the compiz mailing list