Hey everyone,
I'm really excited about being able to use CSS to define the way a GTK+
theme looks. I've had my hand in making GTK+ themes in the past and know
CSS pretty well, so this is a perfect intersection for people like me. (:
Sorry I couldn't make it out to GUADEC to talk with you all about this in
person, but hopefully I can provide some help through emails and possibly on
IRC, etc.
*A quick list of things that I would really like*
- keep as close to the CSS spec as possible (especially pay attention to
CSS3, as it has lots of useful things)
- it is okay to use CSS extensions where CSS has a few gaps, especially
since this is theming widgets, not web pages (although try to keep them down
to a minimum)... something like: -theme-appearance: button; (similar to
-moz-appearance [1])
- make a "page" that shows off all the "widgets", as well as common
combinations (like nesting, etc.), and make it easy to "reload"... this
doesn't really have to be a page, but something like this is a really nice
thing when styling using CSS for a web page
- leave the padding up to the CSS style, based on relationships of
widgets
- start from scratch, with no appearance defined whatsoever, but have a
common styling that themes inherit from so that they can instantly define
buttons, etc.
- support as many useful selectors & pseudo-classes as possible
- make sure cascading applies
- take advantage of the ability to use multiple classes on an element...
- HTML: <a class="foo bar baz">
- CSS: foo {}, bar {}, and baz {} would all apply to the above HTML
- applications should have a top-level id, so someone could do something
like this:
- #gimp #toolbox button { -theme-appearance: button-small; border:
none; }
- #gimp #toolbox button:selected { background-color: Highlight; color:
HilightText; }
- #gimp #toolbox button:hover:selected { background-color:
HighlightHover; color: HilightTextHover; }
- (I'm adding these extra states to show how things would work in
other ways too)
- support CSS variables [2]
- have an introspection utility like Firebug so that theme authors and
application developers can easily click widgets and explore an application
by browsing around something like a DOM tree, with widget properties and
such... once upon a time there was something that was sort of like this
(called GLE [3]), which sort of worked, and then was not maintained and
shortly bitrotted
- if this could be made at a lower-level than GTK+ itself, it would be
nice... then GTK+ could call on this library to do the widget rendering, but
so could Mozilla, OOo, and even Qt (which does this for non-UNIXy platforms
like Windows and OS X already)... also, this might make adoption for things
like custom Mono widgets (as in Banshee), Mono's WinForms, Wine, and even
currently not-really-themable toolkits (Tk, Lesstif, etc.) easily possible
*
References*
1. -moz-appearance:
http://developer.mozilla.org/en/docs/CSS:-moz-appearance
2. CSS variables: http://disruptive-innovations.com/zoo/cssvariables/
3. GLE: http://testbit.eu/~timj/historic/gle/
Thanks for reading!
Garrett
_______________________________________________
gnome-themes-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-themes-list