Proposal: Engine Schema inclusion in GTK+



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]