AnyColor 0.2.0

It’s been almost two months since the last update and I’ve been busy. The plan was to release this version about a week later because I wanted to document some new features of the AnyColor API that may be of interest to third-party theme developers and web masters.

Alas, the latest Firefox update came today and AnyColor wasn’t marked as being compatible with it so here it is: AnyColor 0.2.0 has just been uploaded to addons.mozilla.org.

The new version has several improvements although most of them won’t be seen by most users. One feature that stands out is the option to change the font size of the browser’s interface, a feature requested by Ken Saunders from AccessFirefox.org.

A list of all changes in this version follows:

  • It is now possible to add new presets by visiting a web page that offers them. I’ve created one such page as an example and as a place to post interesting presets. I’ve also added a link to this page on the presets tab.
  • Added a start-up page that greets the user when AnyColor is first installed and provides a way to easily add AnyColor to the toolbar.
  • Removed a hack that was used for compatibility with the Web Developer extension. It is no longer needed as of Web Developer 1.1.6.
  • Some progress on compatibility with the Linux theme. It’s usable but not perfect yet.
  • Minor CSS fix for the color of the links in about:mozilla.
  • Improved the way scripted presets work by allowing them to render to a canvas and specify the canvas id as the background image. Simply put, Firefox will not allow a web page to use a canvas’s toDataURL() method if external images have been drawn on it (it’s a security/privacy measure). To circumvent this restriction without giving the scripts access to this method, a scripted preset can now specify the id of the canvas as the url of an image in the form of “canvas://canvas-id”.
  • Fixed a small bug with the initial selection of the image position controls.
  • Made the advanced tab panel remember the last selected tab.
  • Fully implemented a way for third-party extensions to change the master theme or build upon it. It is now possible, and easy, to create an extension that completely changes the appearance (just like a different Firefox theme) while using AnyColor’s abilities to change colors and images on the fly. Similarly, an extension could keep the default master theme but offer several small, user-selectable tweaks, like making all buttons square or adding a fixed background image to all windows, or even modify the appearance of web-pages to match the currently selected preset.
  • Bumped compatibility to 3.1a1pre.
  • A few fixes for the colors of the Firebug console, especially for dark presets.
  • Minor CSS fix for the main window when the tab bar isn’t visible.