Re: GUADEC Theming API meeting minutes

"Garrett LeSage" <[email protected]>
Newsgroups gmane.comp.gnome.themes
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.