├── .editorconfig ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── CREDITS ├── LICENSE.bsd ├── LICENSE.mit ├── LICENSE.mpl ├── Makefile ├── README.md ├── _locales ├── de │ └── messages.json ├── en │ └── messages.json ├── ja │ └── messages.json ├── nl │ └── messages.json ├── zh_CN │ └── messages.json └── zh_TW │ └── messages.json ├── build.sh ├── chrome.manifest ├── components └── greasemonkey.js ├── content ├── addons4-overlay.js ├── addons4-overlay.xul ├── addons4.xul ├── bindings.xml ├── browser.js ├── browser.xul ├── closewindow.xul ├── config.js ├── framescript.js ├── install.js ├── install.xul ├── menucommander.js ├── newscript.js ├── newscript.xul ├── options.js ├── options.xul ├── scratchpad-overlay.js ├── scratchpad-overlay.xul ├── scriptprefs.js ├── scriptprefs.xul └── third-party │ ├── addons4.css │ └── mpl-utils.js ├── defaults └── preferences │ └── greasemonkey.js ├── doc └── Messages.md ├── install.rdf ├── karma.conf.js ├── locale ├── ar │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── bg │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── cs │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── da │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── de │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── el │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── en-GB │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── en-US │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── es-CL │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── es-ES │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── fa │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── fi │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── fr │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── gl │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── he │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── hu │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── id │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── it │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── ja │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── lt │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── nl │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── pl │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── pt-BR │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── pt-PT │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── ro │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── ru │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── sk │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── sl │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── sr │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── sv-SE │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── tr │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── uk │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── zh-CN │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties └── zh-TW │ ├── gm-addons.dtd │ ├── gm-addons.properties │ ├── gm-browser.properties │ ├── gm-cludes.dtd │ ├── greasemonkey.dtd │ └── greasemonkey.properties ├── manifest.json ├── modules ├── GM_notification.js ├── GM_openInTab.js ├── GM_setClipboard.js ├── abstractScript.js ├── addons4.js ├── constants.js ├── documentObserver.js ├── extractMeta.js ├── installPolicy.js ├── ipcscript.js ├── menucommand.js ├── miscapis.js ├── parseScript.js ├── prefmanager.js ├── processScript.js ├── remoteScript.js ├── requestObserver.js ├── sandbox.js ├── script.js ├── scriptDependency.js ├── scriptIcon.js ├── scriptProtocol.js ├── scriptRequire.js ├── scriptResource.js ├── stats.js ├── storageBack.js ├── storageFront.js ├── sync.js ├── third-party │ ├── MatchPattern.js │ ├── convert2RegExp.js │ ├── droppedUrls.js │ └── getChromeWinForContentWin.js ├── util.js ├── util │ ├── alert.js │ ├── channelFromUri.js │ ├── compareFirefoxVersion.js │ ├── emptyEl.js │ ├── enqueueRemoveFile.js │ ├── fileXhr.js │ ├── getBestLocaleMatch.js │ ├── getBinaryContents.js │ ├── getBrowserWindow.js │ ├── getContents.js │ ├── getEditor.js │ ├── getEnabled.js │ ├── getPreferredLocale.js │ ├── getScriptSource.js │ ├── getService.js │ ├── getTempDir.js │ ├── getTempFile.js │ ├── getUriFromFile.js │ ├── hitch.js │ ├── inArray.js │ ├── installScriptFromSource.js │ ├── isGreasemonkeyable.js │ ├── loadFile.js │ ├── logError.js │ ├── memoize.js │ ├── newUserScript.js │ ├── openInEditor.js │ ├── parseMetaLine.js │ ├── scriptDir.js │ ├── scriptMatchesUrlAndRuns.js │ ├── setEditor.js │ ├── setEnabled.js │ ├── sha1.js │ ├── showInstallDialog.js │ ├── sniffGrants.js │ ├── timeout.js │ ├── uriFromUrl.js │ ├── uuid.js │ ├── windowId.js │ ├── windowIdForEvent.js │ ├── windowIsClosed.js │ ├── windowIsPrivate.js │ └── writeToFile.js └── xmlhttprequester.js ├── package.json ├── package.sh ├── peg.txt ├── skin ├── addons4.css ├── back.svg ├── bindings.css ├── browser.css ├── icon.svg ├── icon16.png ├── icon16disabled.png ├── icon24.png ├── next.svg ├── options.css ├── scriptprefs.css └── userscript.png ├── src ├── bg │ ├── api-provider-source.js │ ├── execute.js │ ├── execute.run.js │ ├── export-db.js │ ├── is-enabled.js │ ├── on-message.js │ ├── on-user-script-notification.js │ ├── on-user-script-open-in-tab.js │ ├── on-user-script-xhr.js │ ├── user-script-detect.js │ ├── user-script-detect.run.js │ ├── user-script-registry.js │ ├── user-script-registry.run.js │ ├── value-store.js │ └── welcome.run.js ├── browser │ ├── monkey-menu.css │ ├── monkey-menu.html │ ├── monkey-menu.js │ └── monkey-menu.run.js ├── content │ ├── backup │ │ ├── import.css │ │ ├── import.html │ │ ├── import.js │ │ └── import.run.js │ ├── cm-addons │ │ ├── lint-metadata.js │ │ └── lint-metadata.run.js │ ├── edit-user-script.css │ ├── edit-user-script.html │ ├── edit-user-script.js │ ├── install-dialog.css │ ├── install-dialog.html │ └── install-dialog.js ├── downloader.js ├── i18n.js ├── parse-meta-line.js ├── parse-user-script.js ├── supported-apis.js ├── user-script-obj.js └── util │ ├── check-api-call-allowed.js │ ├── iconUrl.js │ ├── log-unhandled-error.js │ ├── open-editor.js │ └── rivets-formatters.js ├── test ├── README.md ├── bg │ ├── api-provider-source.test.js │ ├── execute.test.js │ ├── export-db.test.js │ ├── is-enabled.test.js │ ├── user-script-detect.test.js │ ├── user-script-registry.test.js │ └── value-store.test.js ├── browser │ └── monkey-menu.test.js ├── content │ ├── backup │ │ └── import.test.js │ └── cm-addons │ │ └── lint-metadata.test.js ├── downloader.test.js ├── parse-user-script.test.js ├── scripts │ ├── README.md │ ├── api-get-set-demo.user.js │ ├── api-gm-storage.user.js │ ├── api-notification.user.js │ ├── api-open-in-tab.user.js │ ├── api-set-clipboard.user.js │ ├── bare.user.js │ ├── homepage.user.js │ ├── icon-absolute.user.js │ ├── icon-data.user.js │ ├── icon-relative.user.js │ ├── icon-tall.user.js │ ├── icon-wide.user.js │ ├── info.user.js │ ├── long-description.user.js │ ├── long-name-no-space.user.js │ ├── long-name.user.js │ ├── many-include-exclude.user.js │ ├── match-invalid.user.js │ ├── match.user.js │ ├── missing-require.user.js │ ├── missing-resource.user.js │ ├── name with spaces.user.js │ ├── require-from-bad-server.user.js │ ├── require.js │ ├── require.user.js │ ├── resource-css-geturl.user.js │ ├── resource-css.user.js │ ├── resource-img.user.js │ ├── resource.css │ ├── version-long.user.js │ └── version.user.js ├── setup.js ├── third-party │ └── MatchPattern.test.js └── user-script-obj.test.js ├── third-party ├── MatchPattern.js ├── codemirror │ ├── LICENSE │ ├── README.md │ ├── addon │ │ ├── comment │ │ │ ├── comment.js │ │ │ └── continuecomment.js │ │ ├── dialog │ │ │ ├── dialog.css │ │ │ └── dialog.js │ │ ├── display │ │ │ ├── autorefresh.js │ │ │ ├── fullscreen.css │ │ │ ├── fullscreen.js │ │ │ ├── panel.js │ │ │ ├── placeholder.js │ │ │ └── rulers.js │ │ ├── edit │ │ │ ├── closebrackets.js │ │ │ ├── closetag.js │ │ │ ├── continuelist.js │ │ │ ├── matchbrackets.js │ │ │ ├── matchtags.js │ │ │ └── trailingspace.js │ │ ├── hint │ │ │ ├── anyword-hint.js │ │ │ ├── css-hint.js │ │ │ ├── html-hint.js │ │ │ ├── javascript-hint.js │ │ │ ├── show-hint.css │ │ │ ├── show-hint.js │ │ │ ├── sql-hint.js │ │ │ └── xml-hint.js │ │ ├── lint │ │ │ ├── coffeescript-lint.js │ │ │ ├── css-lint.js │ │ │ ├── html-lint.js │ │ │ ├── javascript-lint.js │ │ │ ├── json-lint.js │ │ │ ├── lint.css │ │ │ ├── lint.js │ │ │ └── yaml-lint.js │ │ ├── scroll │ │ │ ├── annotatescrollbar.js │ │ │ ├── scrollpastend.js │ │ │ ├── simplescrollbars.css │ │ │ └── simplescrollbars.js │ │ └── search │ │ │ ├── jump-to-line.js │ │ │ ├── match-highlighter.js │ │ │ ├── matchesonscrollbar.css │ │ │ ├── matchesonscrollbar.js │ │ │ ├── search.js │ │ │ └── searchcursor.js │ ├── codemirror.css │ ├── codemirror.js │ └── mode │ │ ├── css │ │ └── css.js │ │ ├── htmlembedded │ │ └── htmlembedded.js │ │ ├── htmlmixed │ │ └── htmlmixed.js │ │ └── javascript │ │ └── javascript.js ├── convert2RegExp.js ├── font_awesome │ ├── css │ │ └── font-awesome.min.css │ └── fonts │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 ├── jszip │ ├── LICENSE.markdown │ ├── README.md │ └── jszip.min.js ├── shoelace │ ├── README.md │ ├── shoelace.css │ └── shoelace.js └── tinybind │ ├── README.md │ └── tinybind.min.js └── util.sh /.editorconfig: -------------------------------------------------------------------------------- 1 | ; EditorConfig is awesome: http://EditorConfig.org 2 | 3 | root = true ; only heed rules in Greasemonkey tree 4 | 5 | [*] 6 | charset = utf-8 7 | tab_width = 8 8 | end_of_line = lf 9 | indent_size = 2 10 | indent_style = space 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [LICENSE.mpl] 15 | indent_size = 5 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.xpi 2 | .project 3 | .settings 4 | coverage 5 | node_modules 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "7" 4 | addons: 5 | firefox: "latest-beta" 6 | env: 7 | KARMA_REPORTER=dots 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please read the [Greasemonkey Programming Style Guide][style-guide] and [Contributing To Greasemonkey][contributing-guide] pages before sending in pull requests. Questions should be asked in [user forum][user-forum] or [Stack Overflow][stack-overflow] instead of issues here. 2 | 3 | [style-guide]: http://greasemonkey.github.io/style.html 4 | [contributing-guide]: http://greasemonkey.github.io/contrib.html 5 | [user-forum]: https://groups.google.com/forum/#!forum/greasemonkey-users 6 | [stack-overflow]: http://stackoverflow.com/questions/tagged/greasemonkey 7 | -------------------------------------------------------------------------------- /CREDITS: -------------------------------------------------------------------------------- 1 | Greasemonkey is Open Source, released under the terms of the MIT license; 2 | see the LICENSE.mit file. 3 | 4 | Greasemonkey contains code derived from AdBlock ( http://adblock.mozdev.org/ ), 5 | reused under the terms of the MPL license; see LICENSE.mpl. 6 | 7 | Greasemonkey contains code derived from FireBug ( http://getfirebug.com/ ), 8 | reused under the terms of the BSD license; see LICENSE.bsd. 9 | 10 | Greasemonkey contains code derived from SlipperyMonkey, originally by 11 | Dave Townsend, reused under the terms of the MIT license. 12 | ( http://www.oxymoronical.com/blog/2010/07/How-to-extend-the-new-Add-ons-Manager ) 13 | 14 | Greasemonkey contains code derived from Scriptish 15 | ( https://github.com/scriptish/scriptish ), reused under the terms of the MIT 16 | license. 17 | 18 | Greasemonkey also contains code derived from Mozilla projects, including 19 | Firefox ( http://mozilla.org/ ), reused under the MPL license; see the 20 | LICENSE.mpl file. 21 | 22 | All MPL code is located in the content/third-party/ and modules/third-party/ 23 | and skin/third-party/ directories, and all such files contain the appropriate 24 | licensing disclaimers and notifications. 25 | -------------------------------------------------------------------------------- /LICENSE.bsd: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) , 4 | All rights reserved. 5 | 6 | Redistribution and use of this software in source and binary forms, with or 7 | without modification, are permitted provided that the following conditions are 8 | met: 9 | 10 | * Redistributions of source code must retain the above 11 | copyright notice, this list of conditions and the 12 | following disclaimer. 13 | 14 | * Redistributions in binary form must reproduce the above 15 | copyright notice, this list of conditions and the 16 | following disclaimer in the documentation and/or other 17 | materials provided with the distribution. 18 | 19 | * Neither the name of nor the names of its 20 | contributors may be used to endorse or promote products 21 | derived from this software without specific prior 22 | written permission. 23 | 24 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 25 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 26 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 28 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 29 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 30 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 31 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: test testwatch coverage xpi 2 | 3 | test: 4 | @npm run test 5 | 6 | testwatch: 7 | @npm run test -- --no-single-run 8 | 9 | coverage: 10 | @npm run test -- --coverage 11 | echo "file://$(shell ls $$PWD/coverage/*/*.html|sed -e 's/ /%20/g')" 12 | 13 | xpi: 14 | @sh package.sh 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Greasemonkey is a user script manager for Firefox. 2 | User scripts are small browser extensions that let you customize your 3 | web browsing experience. 4 | 5 | [![Build Status](https://travis-ci.org/greasemonkey/greasemonkey.svg?branch=master)](https://travis-ci.org/greasemonkey/greasemonkey/builds/) 6 | -------------------------------------------------------------------------------- /chrome.manifest: -------------------------------------------------------------------------------- 1 | component {77bf3650-1cd6-11da-8cd6-0800200c9a66} components/greasemonkey.js 2 | contract @greasemonkey.mozdev.org/greasemonkey-service;1 {77bf3650-1cd6-11da-8cd6-0800200c9a66} 3 | category profile-after-change @greasemonkey.mozdev.org/greasemonkey-service;1 @greasemonkey.mozdev.org/greasemonkey-service;1 4 | 5 | content greasemonkey content/ 6 | skin greasemonkey classic/1.0 skin/ 7 | 8 | overlay chrome://browser/content/browser.xul chrome://greasemonkey/content/browser.xul 9 | style chrome://global/content/customizeToolbar.xul chrome://greasemonkey/skin/browser.css 10 | 11 | content greasemonkey-modules modules/ 12 | overlay chrome://browser/content/browser.xul chrome://greasemonkey/content/addons4.xul 13 | overlay about:addons chrome://greasemonkey/content/addons4-overlay.xul 14 | 15 | overlay chrome://greasemonkey/content/install.xul chrome://greasemonkey/content/closewindow.xul 16 | overlay chrome://greasemonkey/content/options.xul chrome://greasemonkey/content/closewindow.xul 17 | overlay chrome://greasemonkey/content/newscript.xul chrome://greasemonkey/content/closewindow.xul 18 | overlay chrome://browser/content/devtools/scratchpad.xul chrome://greasemonkey/content/scratchpad-overlay.xul appversion<44.0a1 19 | overlay chrome://devtools/content/scratchpad/scratchpad.xul chrome://greasemonkey/content/scratchpad-overlay.xul appversion>=44.0a1 20 | 21 | locale greasemonkey en-US locale/en-US/ 22 | -------------------------------------------------------------------------------- /content/addons4.xul: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 23 | 24 | -------------------------------------------------------------------------------- /content/closewindow.xul: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /content/scratchpad-overlay.xul: -------------------------------------------------------------------------------- 1 | 2 | 5 |