XUL and Themes

In June I was at the Mozilla Foundation for a week for an all-hands meeting. During that week I met a bunch of great folks I had only ever met on IRC, including dria, mconnor, pav, shaver, and vlad (in alphabetical order…). When we weren’t in official meeting of various sorts, there was time to get together in small ad-hoc working groups; these working groups were very productive and informative for me.

During one of WG sessions, vlad and mconnor and I came to a consensus: the current method of constructing XUL (Firefox/Tbird/whatever) themes is fragile and should be rethought. We came to the conclusion that most of the core styling instructions should ship in content packages, not skin packages. Skin packages would only contain theme-specific CSS overrides which alter the default theming instructions. The default theme will therefore contain empty skin CSS files.

This will make it much easier to skin applications in gecko 1.9; instead of duplicating every style rule in the classic theme, which is basically what theme authors do now, authors can simply override the elements that make their theme unique. This may simply be changes to a few icons, or colors, or whatever, but it means that themes are much more likely to be stable and work with multiple future versions of the application.

This work is being tracked in bug 305746.

Atom Feed for Comments 3 Responses to “XUL and Themes”

  1. Richard Klein Says:

    Will this include moving the global skins into toolkit?

  2. Benjamin Smedberg Says:

    The toolkit part of the default skins is already in the toolkit, see http://lxr.mozilla.org/mozilla/source/toolkit/themes/

  3. Bill Gianopoulos Says:

    Funny. I was going to suggest doing just that. This should also make it much less likely that themes will break so badly with UI changes.

Leave a Reply