Dear GTK+ Devs! (If you don't like long introductions, just skip the first chapter) Chapter 1: Some time ago I created a very simple XML format[1] that GTK+ engines could use to expose its (GTKRC) options as well as some metadata like version number and author contacts. Engines with relatively simple options like Clearlooks, High Contrast, Industrial, etc are shipped with such "Engine Schema" files since then, which are used by tools like GNOME Color Chooser[2] and GTKConf[3] to allow GTK+/GNOME users to change engine options of a theme. As the old format (0.1) isn't enough to describe more complex options like the one of the Pixmap or Smooth GTK+ engine and because engine authors and GTKConf maintainers would like to have more contextual information about engine options so that similar options can e.g. be grouped together in a GUI instead of forcing them to provide just a list of available options to a user, i decided to update the XML format specifications. With version 0.2 of the Engine Schema format, it's now flexible enough to fully describe Pixmap options[4] and let engines like murrine structure its huge amount of available parameters. Additionally there's an XML Schema[5] that documents the format and can be used to validate a given schema file. GUIs can use it to easily validate schema files found on a user's computer before loading them to keep the need of own error checking to a minimum while engine authors can use a validator (e.g. contained in GNOME Color Chooser trunk) to debug their schemas before shipping them. As before, the format has 100% i18n support and can easily be translated using intltool. So why do I tell you all this at all? Chapter 2: I wondered where to publish the XML Schema[5] that describes the new Engine Schema format and Benjamin Berg pointed out that it could be nice to have it shipped with GTK+. This allows easy validation of every installed engine schema (by tools and engine authors) and prevents those tools and GTK+ engines from shipping with its own (and maybe even modified) copy. You could also ship the Pixmap engine schema[4] with GTK+ if you want. However, this would require (or even introduce?) the compile-time dependency of intltool/gettext to GTK+, as it is meant to be translated into different languages. Also some more explanations to each option should be added. ;-) What do you think about such an inclusion, would it be possible/sensible? I'm also open for discussions on the new engine schema format itself, of course. Or if anyone of you is into XSD files, feel free to check the file at [5] as i never created XML Schemas before. ;-) Best regards, Werner Pantke 1: http://live.gnome.org/GnomeArt/EngineSchema 2: http://gnomecc.sourceforge.net/ 3: https://code.launchpad.net/~gtkconf/murrine/murrine-configurator 4: http://gnomecc.svn.sourceforge.net/viewvc/gnomecc/gtk-engine-schema/pixmap.xml?content-type=text%2Fplain 5: http://gnomecc.svn.sourceforge.net/viewvc/gnomecc/gtk-engine-schema/schema_0_2.xsd?content-type=text%2Fplain
Attachment:
signature.asc
Description: OpenPGP digital signature