Biz & IT —

A first look at the Firefox 3 visual refresh for Linux

The Firefox 3 visual refresh for Linux is starting to coalesce. Native tabs …

Mozilla ruffled some penguin feathers last month when the organization revealed that Firefox 3 would get an extensive visual refresh to maximize integration with Windows and Mac OS X, but not Linux. After the decision was widely criticized by Linux enthusiasts, Mozilla reversed its position and decided to revisit Linux theming. Work on the new Linux theme has progressed rapidly in the past month, and the earliest pieces are now included in the latest Firefox 3 nightly build. We took a good long look at the new theme—called Gnomestripe—and we like what we see.

A patch submitted by Michael Ventnor makes the Firefox 3 toolbar use stock GTK icons from the user's GNOME icon theme. We tested this feature extensively and found that it worked very well with Tango, the default GNOME icon theme, Ubuntu's Human icon theme, and a variety of other popular third-party icon themes downloaded from gnome-look.org.

Firefox only has access to icons from the user's current theme that are specified as part of the GTK stock icon API. This includes back, forward, home, stop, refresh, tab close icons, and many others, but doesn't include icons for bookmarks and history that are described in the Freedesktop icon naming specification but not in the GTK API. This limitation exists because Mozilla developers contend that getting access to all of the user's GNOME icons would require an unwanted GNOME dependency rather than just a GTK dependency. "[C]urrently we don't have a dependency on gnome-icon-theme so I'm trying to avoid using non-gtk icons where possible," said Ventnor in a bugzilla comment.

Firefox's user interface is predominantly built with XUL, an XML-based user interface design language that uses a box layout model. Firefox themes use cascading style sheets for many aspects of theming. The icons that are acquired from the user's default theme using the GTK stock icon API are pulled into the Firefox user interface with special url that is used in the theme style sheet:

moz-icon://stock/gtk-go-back?size=toolbar

The icons that are not natively provided from the user's icon theme by the GTK stock icon API are actively being drawn by members of the Tango art team and will use the Tango palette and style guidelines. Tango artists working on the project include Andreas Nilsson, Kalle Perssons, and Jakub Steiner. The status of Firefox Tango icon development can be seen at the Firefox page of the Tango wiki.


Firefox 3 with the GNOME icon theme.

Firefox 3 with the Tango icon theme.

Firefox 3 with the Human icon theme.

Firefox 3 with the Gion icon theme.

Firefox 3 with the Foxtrot icon theme.

Firefox 3 with the Dropline Neu icon theme.

In addition to fixing the icons, Mozilla developers are also working on fixing user interface elements like the browser tabs to make them consistent with the user's GTK theme. Ventnor has already implemented support for making form widgets in the Gecko renderer consistent with the user's default GTK theme, and the tabs are too in the latest nightly build. Comparing it side-by-side with Gedit reveals that it's not a complete match, but the differences are barely noticeable and could probably be fixed with a little bit more tweaking.

It's important to remember that Firefox 3 is still under heavy development and the Linux visual refresh isn't finished yet. The progress that has been made so far is extremely impressive, and it's definitely a big improvement over the way that Firefox 2.x looks on Linux. Ventnor, Nilsson, and other contributors who have been working hard to make the Linux visual refresh have done a fantastic job. I'm personally really looking forward to seeing what it looks like when the Tango icons for bookmarks, history, and other user interface elements are included.

Channel Ars Technica