v0.3.2 (experimental) works with Firefox 3.6

There’s a new version of AnyColor up on addons.mozilla.org that “works” with Firefox 3.6. It works, yes, but it already has some visual bugs that I’m aware of, like the top part of the “Add-ons” window (it looks like the Firefox developers changed something, again). I will not be fixing these bugs in the foreseeable future and AnyColor won’t be as good as it used to be, which is why this new version is marked as “experimental”. What this means is that Firefox will no longer offer automatic updates for it – you have to go on the addons site, click that checkbox that says “Let me install this experimental add-on” and have it installed.

By the way, which browser do you think looks better? Firefox 3.6 (with personas built-in) or Google Chrome (minimal user interface and bitmap themes)?


AnyColor 0.3.0

Version 0.3.0 has been uploaded to AMO and the automatic update should  be available as soon as the new version is reviewed. There are several new features and fixes in this version, the most prominent being the ability to use “personas” and the export/import functionality.

Personas is an add-on very similar to AnyColor, by Mozilla Labs. It doesn’t have as many features as AnyColor; it can set a header & footer image on the main window but it can’t change colors, it doesn’t “skin” the menus, the scrollbars or any other window and has no “tweaks”. Personas, however, has a great “Gallery” with a lot of excellent themes. Instead of duplicating it, I made AnyColor able to use the Personas gallery and it so far seems to be great. I’ve also added a drop down menu item to the AnyColor toolbar button that let’s you select a “persona” the same way you select a preset.

Most Personas themes look great but you may find that you don’t like the text color or the background color. No worries, you can apply a “persona”, open AnyColor’s options and change the colors until you’re happy. Don’t forget to save your customized appearance settings as a preset (by going to the Presets tab and clicking “New”).

The new Import/Export functionality should be straightforward. Just open the options window and go to the presets tab. Clicking the new “Export” button will prompt you for a filename to export the presets to, while import will ask you to select a previously exported file. For those interested, the presets are exported in JSON format.

There have been a few reports that AnyColor changes the background color of the email composer on some web mail providers, like Live Mail (Hotmail) and Google Mail. The problem is especially noticable when you use a dark preset because the compose window turns dark. As it turns out, the composer window is actually an empty tab window (about:blank) in an invisible frame so when you select a dark background, it affects that empty tab too. I’ve added a fix for Live Mail but I wasn’t able to reproduce it on Google Mail. I also added a new tweak called “White blank windows”. 🙂 You can open the advanced options panel and add it if you like, it will make all empty tabs white and should fix the colors of the mail composer windows.

Last but not least, I’d like to thank you for your comments, reviews and suggestions. Most of the new features and fixes are there because you suggested them. I read all comments, even if I don’t always reply. To answer a few reoccurring questions:

  • The translucent Firefox window border seen in a screenshot on AMO is, unfortunately, part of the operating system (Windows Vista – Aero). Firefox and AnyColor isn’t able to style that part of the window, that’s painted by the OS.
  • About Linux and Mac compatibility: Firefox uses different CSS files (styling) for each operating system so supporting them needs a lot of work and maintintaing them will take a lot of time. I love Linux and I have several PCs running it so I plan to support it when I can. Not so sure about Macs – I don’t own and I don’t plan on getting one anytime soon so I simply can’t develop AnyColor for it.
  • Similarly with Linux support is the Thunderbird version. I use Thunderbird exclusively and I love it, it just takes a lot of time to rewrite all the CSS style rules.

The full release notes for version 0.3.0 follow:

  • AnyColor can now automatically import & use “Personas”, either from the gallery or directly from the AnyColor toolbar button.
  • The start page (welcome page) will now open when the add-on is updated to a new version.
  • You can now reset all presets to their default state. You can find the button on the presets tab on the options window.
  • Added Export/Import presets functionality.
  • Added a “donate” button on the start page for those that would like to support this add-on.
  • Made menu items slightly taller.
  • Fixed a small appearance artifact (CSS) on second level menus.
  • Fixed the text color of the search suggestions when using a header image.
  • Styled the “sanitize dialog” from Firefox 3.5.
  • Compatibility update for changes introduced in getParemeterIndex() on Minefield, platform version 1.9.2. Let’s hope it doesn’t change again.
  • Fixed the selected text color on some web pages’ text areas.
  • Compatibility update for Live Mail compose window.
  • Added the “white blank windows” tweak that sets all about:blank windows to black on white.

Version 0.2.6 had several minor fixes.

  • Small fixes for compatibility with 3.6a1pre.
  • Small compatibility fix for DownThemAll!.
  • Removed the “Hide main menu” tweak.
  • Fixed a bug that would cause the “Get more presets” link to stop working.
  • Added the “Lighter Menus” tweak, it makes the menu popups lighter than the regular background color.
  • Removed built-in color overrides for Fast Dial and added it as a tweak.
  • Fixed the flickr preset by correcting the invalid json response.
  • Added the “Lighter radio and check boxes” tweak.
  • Added Hungarian translation by Mikes Kaszmán István.

By the way, here’s a Firefox tip for advanced users: There’s a hidden setting in Firefox that makes all preferences be applied instantly, without you having to click the “OK” button. AnyColor respects that setting and hides the “preview” button – when you change a setting, it gets applied right away. To enable this hidden setting (it’s on by default on Linux): Type “about:config” in the location bar and skip the warning. A page with a lot of options will appear. Type “instant” in the search box and you will see a preference named “browser.preferences.instantApply”. Double click on it and it will change from “false” to “true”. That’s it.

AnyColor 0.2.4 & 0.2.5

AnyColor has been made public on addons.mozilla.org and it’s seeing a lot of downloads! Going back, I remember starting AnyColor’s development just because I wanted a dark theme that I like. I had to rewrite the master CSS file 3 times, adding features, changing many rules to make them use the new rgba() and hsla() color values and many more changes until I was happy with it. I remember my disappointment when mozilla changed the CSS for Gnu-linux & Macs significantly and I was forced to mark AnyColor as Windows only.

Today I use it on all of my PCs and I’m glad I can share it with others that find it useful.

Versions 0.2.4 & 0.2.5 had a few minor changes:

  • Fixed a compatibility issue with several other extensions.
  • Added a “square everything” tweak.
  • Moved the “More Presets” page to a new host and added a mirror as well.

I was informed that there’s a small bug that I haven’t fixed yet; if you open the AnyColor options window from the addons list, the ‘Get more presets…” links don’t work. It will be fixed in the next version.

AnyColor 0.2.3 (gloss)

A new version has been uploaded to addons.mozilla.org and it should appear in a few hours. You can also find it here (sha1: b6d3adb7f66d766fad3241e1657e85bd21bc75e2).

A dark preset with gloss enabled.

A dark preset with gloss enabled.

The most noticeable change in this release is the “Gloss” theme tweak. I was reluctant to add this at first but I’ve been using it for about two months and it looks great!

Change log:

  • Added the “Gloss” theme tweaks. There are two, one adds gloss to the Bookmarks toolbar and the other to the Tabs. You can enable both if you like; I personally like the Tabs one better.
  • Compatibility with 3.2a1pre.
  • Styled “about:sessionrestore”.
  • Improved the “first run” page. It will now show a list of the available presets and a few selected theme tweaks.
  • Marked the “Strata Reloaded” theme as compatible, it looks great with the gloss tweak enabled and near-black colors.
  • Minor fix for XUL progress bars when value is zero.
  • Styled the links in view source (Fx 3.1+).
  • Styled SSL error pages.
  • Added a tweak for the scrollbars.
  • Visual fix for the mini-buttons in the update dialog.
  • Added Russian translation by Timur.

AnyColor 0.2.2

I’ve just uploaded a new version. You can find it on AMO or if you don’t want to login, here.

Few changes this time, the most important being the compatibility with Firefox 3.1 beta 1 and beta2 pre. It wasn’t just a version bump, unfortunately. The JSON parser that is built into Firefox has changed, causing any theme library related function to fail (list presets, load, save, load from the web). I also identified and solved a second issue related to the custom colorpicker widget used in AnyColor and Firefox’s preference system, but only when “instantApply” was turned on. I’ve no idea what’s changed in the new Fx versions but I worked around the problem.


  • Compatibility with Firefox 3.1b2pre.
  • Improved compatibility with the Chatzilla add-on, made AnyColor respect the tab status and coloring (requested by Jake).
  • Changed the appearance of the selected (hover) menu items. The old style (inverted fg & bg) has been added as a theme tweak in case someone really likes it.
  • Marked the following “icon-pack” themes as compatible with AnyColor: Azerty III, Qute, CrystalFox Qute.

AnyColor 0.2.1

AnyColor with Colorful Tabs

AnyColor with Colorful Tabs

A new version has been uploaded to AMO. It’s still in the “sandbox” and you need to register to download it, so I’ve uploaded it here (Right-click, Save Link As…) as well for those that don’t want to register.

This release offers the much wanted compatibility with the Colorful Tabs extension, among other things. To enable it, open AnyColor’s options, go to the “Advanced” tab, selected “Theme tweaks” and double-click on “Compatibility: Colorful Tabs”.

The list of changes in this version:

  • Some Vista CSS fixes; I got my hands on a Vista PC and fixed some CSS issues that I had missed, like some menus and the “Library” window.
  • Compatibility with Colorful Tabs and All-in-One Sidebar. These have to be enabled explicitly by going to Options->Advanced->Theme tweaks.
  • Added a few optional theme tweaks:
    • Anycolor Compact

      Anycolor Compact

      Compact main window: Reduces the padding and borders on the main menu and toolbar. It’s meant to be used by people who like their Firefox as compact as possible, with small icons and no bookmarks toolbar.

    • Hide main menu: This will hide the main menu. Take care if you enable this, you may not be able to disable it without the main menu. If this happens, open the page “about:config” and type “extensions.anycolor.activeCssFragments” in the “Filter” box. Right click the configuration entry and click “Reset”.
    • Custom buttons in web pages: This will make all standard buttons in regular web pages appear like AnyColor’s rounded buttons.
    • Invert Url-bar & search-bar colors: Makes the url bar and search bar stand out by inverting the background and foreground colors.
    • Square buttons & Square scroll bars: Removes the rounded corners from the buttons and scroll bars. Note that you need to refresh a page before you see the changes in the scroll bars.
    • Google web search: This is mostly a “proof-of-concept” tweak, demonstrating how AnyColor can be used to change colors & styles in web pages. This one will make Google’s main page and search results use the currently selected AnyColor preset.
  • Several minor compatibility fixes for other extensions.
  • Added a menu item in Firefox’s tools menu for easier access with the keyboard.

Last, after getting the dreaded “download corruption” error (when trying to install AnyColor from addons.mozilla.org) myself, I think the following steps fixed it:

  • Enable cookies AND third-party cookies (Tools->Options-Privacy).
  • When logging in to AMO, make sure you check the “remember me” checkbox.
  • Clear the cache.

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.