├── images ├── userjs-tool.png ├── toggle-readonly-textarea-box.png └── example-append-overrides-onto-template-to-form-userjs.png ├── .gitignore ├── LICENSE ├── userjs-tool-themes.css ├── README.md ├── ChangeLog └── userjs-tool-aboutconfig-functions.js /images/userjs-tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/HEAD/images/userjs-tool.png -------------------------------------------------------------------------------- /images/toggle-readonly-textarea-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/HEAD/images/toggle-readonly-textarea-box.png -------------------------------------------------------------------------------- /images/example-append-overrides-onto-template-to-form-userjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/HEAD/images/example-append-overrides-onto-template-to-form-userjs.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled files 2 | *.class 3 | *.com 4 | *.dll 5 | *.exe 6 | *.o 7 | *.so 8 | 9 | # BlueJ files 10 | *.ctxt 11 | 12 | # Mobile Tools for Java (J2ME) 13 | .mtj.tmp/ 14 | 15 | # Package Files 16 | *.jar 17 | *.war 18 | *.nar 19 | *.ear 20 | *.zip 21 | *.tar.gz 22 | *.rar 23 | *.7z 24 | *.dmg 25 | *.gz 26 | *.iso 27 | *.tar 28 | *.zip 29 | 30 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 31 | hs_err_pid* 32 | 33 | # Logs and databases 34 | *.log 35 | **/*.log* 36 | *.sql 37 | *.sqlite 38 | 39 | # OS generated files 40 | .DS_Store 41 | .DS_Store? 42 | ._* 43 | .Spotlight-V100 44 | .Trashes 45 | ehthumbs.db 46 | Thumbs.db 47 | 48 | # https://gist.github.com/octocat/9257657 49 | *~ 50 | **/*~ 51 | *# 52 | *.bak 53 | *.swp 54 | *.swo 55 | *.orig 56 | desktop.ini 57 | 58 | # IDE (eclipse / intellij) files 59 | .classpath 60 | .project 61 | .settings 62 | #.idea 63 | /.idea/workspace.xml 64 | /.idea/tasks.xml 65 | .metadata 66 | *.iml 67 | *.ipr 68 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 icpantsparti 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /userjs-tool-themes.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | name: userjs-tool-themes.css 4 | URL: https://github.com/icpantsparti/firefox-user.js-tool 5 | license: MIT: https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/master/LICENSE 6 | 7 | This is an optional file for use with userjs-tool.html 8 | 9 | Use this file to override the default theme with your own colors or to 10 | add your own custom themes (copy and replace _default with _themename). 11 | 12 | The default theme is used when userjs-tool.html opens, or you can specify 13 | another theme using URL variables, such as: userjs-tool.html?theme=themename 14 | 15 | Color codes: https://www.w3schools.com/colors/colors_groups.asp 16 | 17 | */ 18 | 19 | /*----------------------------------------------------------------------------*/ 20 | 21 | /* default theme */ 22 | .body_default, .view_area_default, .panels_default 23 | { background-color: #262626; /*(black)*/ 24 | color: #b3b3b3; /*(gray)*/ } 25 | .controls_default { background-color: #555555; /*DimGray*/ 26 | color: #C0C0C0; /*Silver*/ } 27 | .controls_default:focus { outline: 2px auto #FF0000; /*Red*/ } 28 | .controls_default:hover { background-color: #DAA520; /*GoldenRod*/ 29 | color: #000000; /*Black*/ } 30 | .borders_default { box-shadow: 3px 3px 4px #FFFFFF; /*White*/ 31 | border: 1px solid #A9A9A9; /*DarkGray*/ 32 | border-width: 1px 1px 0px 1px; } 33 | .view_area_default .pref { color: #FFFFFF; /*White*/ } 34 | .body_default a { color: #ffbf80; /*(brown)*/ } 35 | .view_area_default .false { color: #FF6347; /*Tomato*/ } 36 | .view_area_default .true { color: #00FF00; /*Lime*/ } 37 | .view_area_default .integer { color: #FFFF00; /*Yellow*/ } 38 | .view_area_default .string { color: #DDA0DD; /*Plum*/ } 39 | .view_area_default .http { color: #99ccff; /*(blue)*/ } 40 | .view_area_default .warn { background-color: #FF3333; /*(Red)*/ 41 | color: #FFFFFF; /*White*/ } 42 | .view_area_default .hid { color: #C6F3C6; /*(Green)*/ } 43 | .view_area_default .ref { color: #98E498; /*(Green)*/ } 44 | 45 | /*----------------------------------------------------------------------------*/ 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #### userjs-tool.html 2 | 3 | Interactive view, compare, and more for Firefox user.js (eg arkenfox/user.js) + about:config functions 4 | 5 | [Open userjs-tool.html on-line (github.io)](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html) 6 | 7 | [View the current arkenfox user.js* in a table (github.io)](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html?at) 8 | 9 | [Functions to get more out of about:config (eg: find, filter, list, save to file, etc)](https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/master/userjs-tool-aboutconfig-functions.js) 10 | 11 | > > > \*Note: the excellent `arkenfox user.js` is by other developers at:
12 | > > > [arkenfox user.js home](https://github.com/arkenfox/user.js) / [arkenfox user.js issues](https://github.com/arkenfox/user.js/issues?q=sort%3Aupdated-desc) / [arkenfox user.js wiki](https://github.com/arkenfox/user.js/wiki) 13 | 14 | ---- 15 | 16 |
Introduction
17 | 18 | Display a Mozilla Firefox user.js settings file contents in your Firefox browser, with: 19 | * highlighting, links, themes*, re-size, wrap, about:config links/regex/groups 20 | * expanding sections, and index to go to sections (with compatible user.js projects) 21 | * compare preferences in two user.js, in a table format with order/layout options and bold cell border around differences 22 | * actions including: user-overrides.js* append* (with comment-out*), point and click overrides collector, skeleton, prefs.js cleaner*, group by values 23 | * load/save, drag/drop, or copy/paste user.js files (can load from some on-line URLs too) 24 | * functions for find (filter/list)/reset/set on about:config Web Console (Firefox/forks/Thunderbird/SeaMonkey) 25 | * single .html file (HTML/CSS/JavaScript) with no external dependency 26 | * open [userjs-tool.html on-line](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html) or save for off-line use 27 | 28 | (*arkenfox/user.js inspired. Please visit [arkenfox/user.js](https://github.com/arkenfox/user.js) and read their info on [arkenfox/user.js/wiki](https://github.com/arkenfox/user.js/wiki). They also have nice scripts for append/clean/troubleshoot.) 29 | 30 | This started as an over the top experiment for learning some HTML/CSS/JavaScript (first released 2019.01.02, compare added 2020.02.22). This is a viewer/tool, and not an editor/installer. 31 | 32 | Disclaimer: Use with care at your own risk, and verify any results 33 | 34 | ---- 35 | 36 |
37 | 38 |
(Optional) How to save and open userjs-tool.html off-line
39 | 40 | * Open [the raw text/html file](https://raw.githubusercontent.com/icpantsparti/firefox-user.js-tool/master/userjs-tool.html) in a browser tab 41 | * Right click within that page and "Save Page As..." 42 | * Open the saved `userjs-tool.html` file with your Firefox browser 43 | (you can drag and drop it from your Downloads folder into a new tab) 44 | * Bookmark it for easy access 45 | * Remember to check here for updates 46 | 47 | ---- 48 | 49 |
50 | 51 |
Other Info 52 | 53 | * (Optional) The `userjs-tool-themes.css` file can be used with `userjs-tool.html` to add custom themes/colors (or override the default) 54 | 55 | * The `userjs-tool-aboutconfig-functions.js` file is also embeded in `userjs-tool.html` (view with the [a:c Functions] button). 56 | 57 | * You can do these (and more) from the interface, or by using URL parameters: 58 | 59 | * [View the current arkenfox user.js (github.io)](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html?av) 60 | 61 | * [View the current arkenfox user.js in a table (github.io)](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html?at) 62 | 63 | * Load and view a user.js URL: [https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html?action=view1&load1=%68ttps://raw.githubusercontent.com/arkenfox/user.js/master/user.js](https://icpantsparti.github.io/firefox-user.js-tool/userjs-tool.html?action=view1&load1=%68ttps://raw.githubusercontent.com/arkenfox/user.js/master/user.js) 64 | 65 | ---- 66 | 67 |
68 | 69 | Preview 70 | 71 | 72 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | version 2021.03.11 2 | 3 | updated userjs-tool-aboutconfig-functions.js and minor changes 4 | 5 | * updated [a:c Functions] userjs-tool-aboutconfig-functions.js 6 | + ujtFindPref options: asdefault, nodefault, fileout 7 | optionally save results to desktop file (fileout: true) 8 | + ujtFindPref style 0 and 1: now updates the about:config display 9 | insert result into the about:config search box and filter 10 | reduce text size and spacing to see more 11 | + use Services.prefs.getComplexValue to look up "chrome:..." prefs 12 | + ujtFindPref style: 5=user_pref@default 13 | + ujtFindPref style 2 and 5: show pref default values 14 | (note: policies.json/etc can alter defaults) 15 | 16 | * userjsTableView: 17 | detected tags (those not hardcoded) now show * indicator in Info column 18 | under [Filter] button: 19 | detected tags now show above the individual SETUP and FF tags (arkenfox) 20 | grouped SETUP... and FF... tags (arkenfox) now hint "(listed below)" 21 | tag sort made case insensitive 22 | make arkenfox "_user.js.parrot" pref show first value 23 | 24 | + userjsTableView/userjsTableViewTagFilter: 25 | make a first link in [Groups] to reflect whats shown in the filtered table 26 | 27 | * userjsViewer/userjsCompare/userjsTableView: 28 | remove first [Groups] link if empty 29 | 30 | * userjsCompare/userjsCompareLauncher/handleActionURLparameter: 31 | remove space from all layout variable values re below 32 | improve action=compare URL params (eg action=compare:1:4:az:2column) 33 | 34 | * loadLocalFile: use readAsText instead of readAsBinaryString 35 | 36 | * links_panel: 37 | + add links for arkenfox wiki and issues 38 | * tidy up auto-loading links 39 | + add "Auto-load about:config Groups" (about:config search patterns) 40 | 41 | * rename "Get started info" to "Hints", tidy up and add more hints 42 | 43 | + two action buttons, shortcuts for: [View arkenfox] + [Load arkenfox] 44 | 45 | 46 | 47 | 48 | version 2020.09.15 (alpha/experimental) 49 | * updated hyperlinks and references 50 | re "https://github.com/ghacksuserjs/ghacks-user.js" 51 | has moved to "https://github.com/arkenfox/user.js" 52 | 53 | 54 | 55 | 56 | version 2020.03.21 (alpha/experimental) 57 | * added a [