Theme changes for Mozilla developers
28 February, 2013 § 1 Comment
Within the past couple weeks there have been two significant changes to the theme structure within the mozilla-central repository.
First, Matthew Noorenberghe landed a change to add a
shared theme directory under
/browser/themes/. This theme directory has files with a
.inc.css extension, and are included by all three of our tier-1 themes.
This change will greatly reduce code duplication in our front-end CSS files. For many developers, it was too easy to make a change to one of the platforms without remembering to make the same changes to other platforms.
This change should also allow us to move faster when updating our theme as we have less code to touch and don’t have to double- and triple-check our changes to make sure we replicated everything correctly.
The second change landed a few days ago and was written by myself. This change renamed our themes to better match their target platforms. The previous names of the themes were
gnomestripe. The new names are
linux, respectively. This change applied to the themes in /toolkit/themes and /browser/themes.
This change should make approaching theme developer easier for new contributors. The pinstripe name correlates to the pinstripes from the Aqua user interface in early versions of OS X. The winstripe and gnomestripe names were really just a play on the pinstripe name. A pun based on an obscure history isn’t great for newcomers (or old-timers ;)), so hopefully this change will help make it clearer.
A couple changes (potentially) coming down the pipeline:
Dão Gottwald is working on renaming the
linux theme to
linux_gtk to better clarify that it applies to
Justin Dolske is working on bringing Matthew Noorenberghe’s /browser changes to /toolkit. This will create shared theme resources for /toolkit/themes. Another change being worked on by Justin will move all children of /toolkit/themes/*/global/* to /toolkit/themes/*/*, since the “global” subdirectory doesn’t bring much benefits.
Some of these changes will help us implement the Australis redesign faster, but more importantly they will help new contributors who are approaching front-end development.