GtkWidget Style Properties and Theme Engines


I've been hacking on my theme engine a lot more lately, and I've been
talking with a few theme/engine authors and came up with some ideas
of how to make theme development easier, handling engine properties
easier, and making it easy to write themes that work with multiple
engines, and still be pretty. I understand that GTK+/QT will be using
XSettings for some base theme colors sometime soon. This is a proposal
to go along with that somewhat, to help separate the engine and
color settings.

It would be nice to be able to add properties which get parsed from
the gtkrc, and have a nice api for doing things with them. Kind of
like style properties for GObjects. The method for setting properties
in engines currently, is rather arcane and a pain to use. You have
to create a parser for the engine, and an enum of tokens, and a struct
of properties, and it's easy to screw up, and you can't mix settings
for different engines, in the same gtkrc, due to the lack of separation.

If there were style properties for the engines, users could have a
single ~/.gtkrc-2.0, that includes style settings for multiple engines,
and only the engine that is actually in use, would get loaded. Then, we
could set the engine, and style properties in ~/.gtkrc-2.0, and we could
have the colors stored in XSettings, so everything could be happy, and
you can switch engines and keep the same colors. I'm going to be
implementing this anyway, but it would be really nice to get something
like this into GTK+, so other engine authors could take advantage of it
easily, and make things better integrated.

Thoughts? Constructive complaints/suggestions?

-- dobey

(I'm not on the list, please be sure i'm CC:'d on replies)

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