These action buttons are below the text input boxes. The numbers on
the buttons indicate the input>output boxes, contents of the output box
are usually replaced, [Collect] amends the output box.
[▾Compare]
Display a table highlighting the user_pref differences between two boxes
and show a summary, output into the view area. If a user_pref appears
twice the most recent active value takes priority, and is shown in the table.
You might also want to see this PowerShell alternative:
https://github.com/claustromaniac/Compare-UserJS 😺.
Display options:
- [Group x6] (by value/state)
- [Group x12] (by value/state/active/inactive)
- [Multiple] (by multiple occurrence/alphabetical)
- [A-Z] (by alphabetical)
- [Unsorted] (by order found)
- [DiffStr] (string difference)
(Uses an embedded 3rd party library, see Help/Acknowledgments)
(It is better to use file comparison software, eg meld)
- [Layout] (change table between 5columnx1row 3columnx2row 2columnx2row)
[Append 1+2>3]
Take the user-template.js (eg arkenfox/user.js) (from Box 1) and
append your user-overrides.js (from Box 2), place the result into Box 3.
This will also process any lines from Box 2 of the format:
//// --- comment-out --- 'prefname.goes.here' as they occur, ie any
user_pref with that name in the output so far will be "inactivated",
commented out with "////COMMENT-OUT:". Care: if you comment out prefs
you may also have to manually reset their value in about:config.
If your user-overrides.js contains a line that reads:
//// --- add-override-comment --- then the tag "////OVERRIDE:" will
be placed in front of any overridden user_pref in the user.js output.
"////COMMENT-OUT:" and "////OVERRIDE:" tags are displayed inverted
when using the viewer so they stand out.
Note: any in-block/multi-line comments (/*...*/) in the user-overrides.js are
recognized, user_pref within those comments are inactive, and appear in the
appended user-overrides.js part of the output as in-line comments (//).
[Collect 1>+2]
Helps to create a user-overrides.js, by allowing point/click/edit collection
of user_pref. (Note: this is very basic)
It first takes you into the usual viewing of Box 1 content, with the
added ability to:
click on the word "user_pref" (to toggle collection of either
//// --- comment-out --- 'prefname.goes.here' or of an active user_pref)
(note: comment-out is a reminder to prompt you to make sure that pref gets
inactivated in your user.js)
click on the user_pref "value" (to collect the user_pref with a new
value, toggles boolean, input box for integer/string).
This does not change Box 1 content, the 'amendments' are just collected in Box 2.
The "Actions" panel is displayed with reduced size for viewing of
Box 2 changes, press the yellow [End Collect] button when you have finished
(shown next to [Overrides] box only during collect, scroll the actions panel
or click [<Back] if it is out of view).
Box 2 [Select] button becomes [Select+], and the first instance
of the pref name toggled is selected, if you wish to select all click
elsewhere in the box and click the select button again.
[Skeleton 1>2]
Create a skeleton for a user-overrides.js. Reduce the user-template.js
(from Box 1) to headings and commented user_pref, place the result into Box 2.
[Reduce 1>4]
Reduce the user-template.js (from Box 1) to headings and user_pref lines only,
place the result into Box 4.
[Clean 4-3>4]
Remove user_pref from prefs.js in Box 4, based on the active and
inactive user_pref from user.js in Box 3.
Use with care, this might clean more (or even less) than
you expect. Do not replace your prefs.js while Firefox is
running, and rename the old file as a backup.
The arkenfox/user.js pref cleaner scripts are a better way
to do this, read at the arkenfox/user.js/wiki, note the pros/cons.
[By Value 3>4]
Take the user.js from box 3 and arrange the user_pref by values, output into box
4. This shows the user_pref ordered by active/inactive: false, true, 0,
1, 2, other integer, empty string, other string.
Any re-occurring user_pref in the user.js will only show once with most recent
active value priority.
This is mainly intended as an aid if manually reviewing user.js settings on
Android Firefox (although you may be able to inject user.js to Android via
PC (about:debugging) see the [Menu]>[Actions]>[a:c Functions] button and
the arkenfox/user.js/wiki).
The idea is that you can use the about:config?filter= links under [Groups]
to bulk display user_pref that require a similar value, these links can
be long pressed to copy and then pasted in the about:config search.
Remember that hidden preferences will only show if they have been user created.
[To Group 4>4]
Convert a list of user preferences in Box 4 to an about:config?filter= group,
place output into Box 4. If you have a bunch of favorite preferences,
place the list into Box 4 and turn them into an about:config link that
displays that group of preferences. The list can be newline, space,
comma, or other separated.
[▾Encode 4>4]
Various encode/decode options (eg Base64, URI), performed on the contents
of Box 4 (input/output on Box 4).
Encode to multi line Base64 if you are going to save user.js data
into the section (near the end) of this HTML file, because
you want it to display when this HTML is opened. (Not
recommended, as needs constant maintaining, better to just
[Load]/paste fresh content).
[a:c Functions]
Show JavaScript functions for Mozilla Firefox/Thunderbird about:config,
and information on how to use them. To find (filter/list)/reset/set
user preferences and values.
Use [Menu]>[Actions], or [<Back] button to return.
[Links]
Display some useful links (arkenfox/user.js, profile locations). The
button takes you to [Menu]>[Links].
Use [Menu]>[Actions], or [<Back] button to return.