Preferences Monitor

Author(s):



Over the time one of the most common user complains is about add-ons which suddenly changed Firefox preferences without their knowledge. This gave the idea to create this add-on... Preferences Monitor will watch for changes on the about:config preferences and notify you of what was changed exactly.

There are three scenarios regarding changes:

1) Changes made by Firefox itself.

2) Changes made by extensions to its own preferences.

3) Changes made by extensions to private Firefox preferences.

All of them will be notified on the ErrorConsole, while those of point 3 will be notified with a NotificationBox as well (see screenshot), in such NotificationBox you have a "More Info" button which you can use to open the ErrorConsole. There will be maintained a single NotificationBox at a time, if several changes are noticed simultaneously an asterisk will be added to the button (will become "More Info*")

Note: The method used to detect extensions making changes to its own preferences (point 2) may isn't accurate if a specific extension does not use its own name for their preferences, in such case the notification will be performed as for point 3.

On the ErrorConsole you'll find the exact line of code where the change was invoked (as shown on the screenshot), you can click on the reported file to check the add-on's source code which performed such change.

Also, you should be aware that the NotificationBox won't show up more than three times for a changed preferences, yet these changes will still be reported on the ErrorConsole, and duplicates discarded from being reported there as well.


➜ Configurable Options

  1. Ignore Changes On: Prevent the NotificationBox from being shown for changed preferences matching with this RegExp Pattern. Placing a "." (dot) here will disable such notifications.
  2. Ignore By Add-On: This is the internal whitelist of changed preferences being reported as "controlled" which it was private until version 3.2.2

    The syntax is as for CSS rules, ie "addon-name:preferences.branch;[other-addon:other-branch;and-so-on...]"

    Note "addon-name" refers to the former Add-On Name or a chrome namespace, in fact whatever is reported as changing some preference, for example:
    Preferences Monitor: 'tweak' changed the value of "network.http.max.connections"
      To ignore just that specific change: ;tweak:^network\.http\.max\.connections
        To ignore all changes made to network preferences: ;tweak:^network\.
          To ignore all changes made by the add-on: ;tweak:.
            (In RegExp a single non-escaped dot means everything.)
          • Ask to Revert Changes: Enable it and a new additional button will appear on the NotificationBox which you can click to revert the change. Note NotificationBox elements will no longer be grouped when this is enabled.
          • Revert Changes On: Automatically revert changes made to preferences matching with this RegExp Pattern. By default changes to browser.startup. (ie, homepage), keyword.URL and general.useragent. will always be reverted, obviously you can change this behavior if you want.

          ➜ Version 3.0 released on Feb, 2013 includes some major change... my old (unmaintained) eCleaner Add-On has been merged here with some nice improvements, please refer to the Version History page for further details.

          Please note that eCleaner - like in the legacy extension - is opened through the Add-Ons Manager's Options button. However, you could use the Dybutar Extension to create a toolbar button for it by using the following properties:

          URL: chrome://prefmon-ecleaner/content/ecleaner.xul
          Image: chrome://prefmon-ecleaner/content/icon.png


          Download files:

          preferences-monitor-1.4.1-signed.1-signed.xpi
          preferences-monitor-1.5.1-signed.1-signed.xpi
          preferences-monitor-2.0.1-signed.1-signed.xpi
          preferences-monitor-2.1.1-signed.1-signed.xpi
          preferences-monitor-2.2.1-signed.1-signed.xpi
          preferences-monitor-2.3.1-signed.1-signed.xpi
          preferences-monitor-3.0.1-signed.1-signed.xpi
          preferences-monitor-3.0.1.1-signed.1-signed.xpi
          preferences-monitor-3.0.2.1-signed.1-signed.xpi
          preferences-monitor-3.1.1-signed.1-signed.xpi
          preferences-monitor-3.2.1-signed.1-signed.xpi
          preferences-monitor-3.2.1.1-signed.1-signed.xpi
          preferences-monitor-3.2.2.1-signed.1-signed.xpi
          preferences-monitor-3.2.3.1-signed.1-signed.xpi
          preferences-monitor-3.2.4.1-signed.1-signed.xpi
          preferences-monitor-3.2.5.1-signed.1-signed.xpi
          preferences-monitor-3.2.6.1-signed.1-signed.xpi
          preferences-monitor-3.3.1-signed.1-signed.xpi
          preferences-monitor-3.4.1-signed.1-signed.xpi
          preferences-monitor-3.4.1.1-signed.1-signed.xpi
          preferences-monitor-3.4.2.1-signed.1-signed.xpi
          preferences-monitor-3.4.3.1-signed.1-signed.xpi
          preferences-monitor-3.5.1-signed.1-signed.xpi
          preferences-monitor-3.6.1-signed.1-signed.xpi
          preferences-monitor-3.6.1.1-signed.1-let-fixed.1-signed.xpi


          This page is part of the LegacyCollector website.
          Disclaimer: All material on this site is property of their respective owners and available under
          open licenses to the best of our knowledge. If you are an author and would like anything removed,
          then please write an e-mail to legacy [at] collector dot org.