{"id":47,"date":"2005-08-23T17:01:23","date_gmt":"2005-08-23T21:01:23","guid":{"rendered":"http:\/\/benjamin.smedbergs.us\/blog\/?p=47"},"modified":"2005-08-24T08:48:58","modified_gmt":"2005-08-24T12:48:58","slug":"xul-and-themes","status":"publish","type":"post","link":"https:\/\/benjamin.smedbergs.us\/blog\/2005-08-23\/xul-and-themes\/","title":{"rendered":"XUL and Themes"},"content":{"rendered":"<p>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 <a href=\"http:\/\/www.dria.org\/work\">dria<\/a>, <a href=\"http:\/\/steelgryphon.com\/blog\">mconnor<\/a>, <a href=\"http:\/\/pavlov.net\/blog\/\">pav<\/a>, <a href=\"http:\/\/off.net\/~shaver\/diary\/\">shaver<\/a>, and <a href=\"http:\/\/blog.vlad1.com\/\">vlad<\/a> (in alphabetical order&#8230;). When we weren&#8217;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.<\/p>\n<p>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 <strong>content<\/strong> 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.<\/p>\n<p>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.<\/p>\n<p>This work is being tracked in <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=305746\">bug 305746<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8230;). When we weren&#8217;t in official meeting of various sorts, there was time to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-mozilla"],"_links":{"self":[{"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":0,"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"wp:attachment":[{"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}