::[ Empty Spaces ]::

Wandering through, a journey within.

Pretty Form Widgets for Firefox, the next step

The development process for the next release of Firefox is humming along very well. A second developer preview release (DeerPark alpha 2) is expected any time soon, with a final release scheduled for the end of the summer. Lots of things have changed for the better (Preference window, dramatic speed improvements, easier to use interface, blazingly fast caching,…), with Firefox for OS X getting lots of interface overhauls, and compatibility with Apple’s HIG documents.


One often demanded feature will not be included in the final release of Firefox 1.1 however: native looking cocoa widgets. Based on all previous work, I have updated my own ‘widgets’ package, to give those form widgets a more sexy look. Some notes about this release:

  • improved design.
  • much better support for RTL languages, such as Hebrew and Arabic.
  • better display of disabled widgets.
  • my previous package didn’t allow for styling of widgets by web–page authors. I’ve now made it so that some form objects can be styled (background colours for input fields in particular, styling of the button tag,…).

Overall behaviour of the widgets follows closely what Safari 1.3 and 2.0 is doing.

Download the code (css files and images) for this new release: this package is not available anymore.


The good news, Josh Aas, one of the lead developers on Firefox and Camino, has started working on real cocoa widgets for Firefox, similar to those already existing for Camino. This is lots of work, and regression prone; cocoa widgets won’t be available yet for the upcoming Firefox 1.1.


Then, Aaron has been very kind. The latest release of Firefoxy now includes my code as the default. 3 cheers and thanks, Aaron.


There has been lots of interest from the Linux world for this widget code. Strictly speaking, the changes I made are optimised for the OS X releases of Firefox, and use some Mac specific code. With slight modifications, it should not be difficult to make this working on Linux builds of Firefox. Let me know if you need some help, or if you are succesful. Garret LeSage already made one implementation, for Firefox 1.04 available.

This package is outdated an not available anymore