FireMonkey uses Firefox's official API for userscripts and userstyles
FireMonkey is a new browser extension for the Firefox web browser that enables users to manage userscripts and userstyles using the userscripts API that Mozilla introduced in Firefox recently.
The extension offers similar functionality to established userscript extensions such as GreaseMonkey, TamperMonkey or ViolentMonkey as well as userstyle extensions such as Stylus on first glance. One of the core differences, at least right now, is FireMonkey's use of the new UserScripts API that Mozilla implemented in Firefox recently.
Mozilla revealed that it created the API to address performance, reliability and security issues in regards to user scripts in Firefox. The API is designed to run userscripts in their own sandbox to isolate them; traditional extensions such as GreaseMonkey execute the scripts in the same process.
Note: Mozilla changed the default behavior for userchrome.css and userContent.css files in Firefox 69. These files are not loaded by default anymore. Users need to enable the loading manually to restore the functionality.
FireMonkey requests lots of permissions during installation; the developer explains why these are needed on Mozilla AMO. It requests the same permissions that other userscript extensions request.
Current versions of Firefox support the UserScripts API. You can check whether that is the case in the following way:
- Load about:config in the Firefox address bar.
- Confirm that you will be careful.
- Search for extensions.webextensions.userScripts.enabled.
- If the preference is set to TRUE, it is enabled. A value of FALSE means it is not enabled.
You may load userscripts and userstyles in the extension. The process is a manual one right now. Click on the extension icon and there on the add icons to add a new script or style to Firefox. You may also use the export and import options that you find in the extension's settings.
Adding scripts or styles is not as comfortable right now as you need to copy the code, click on the add button, paste it before you click on save. Still, the process worked flawlessly when I tried it using scripts posted on Grease Fork.
Options to save userscripts in disabled state or with auto-updating enabled are provided in the editor. You may edit userscripts and userstyles at any time using the extension.
The extension supports GreaseMonkey GM3 and GM4 functions and functions provided by the Firefox API. Some scripts may not work properly when you create or import them; the Firefox API does not allow wildcard top level domains (TLD) which means that something like http*://www.google.*/* is not supported. It may be necessary to adjust scripts accordingly so that they may be imported without issues.
FireMonkey comes with a Help file that explains differences and provides examples. It is a good place to start your investigation if something does not work as expected.
The extension icon displays the number of scripts and styles that run on the active site. A click on the icon displays the active scripts and styles, and an option to disable or enable any with a single-click.
The developer of the extension added a number of helpful features to the extension to improve management and identification of scripts. Script errors reference the name of the script in the console for improved identification and notifications from scripts display the script's name as well.
FireMonkey is a promising new extension for the Firefox browser that has a lot to offer even in the initial version. You can load, manage, edit, and create userscripts and userstyles using it, and it is using the new userscripts API that Mozilla will certainly put the focus on in the future.
The extension would benefit from a few nice to have features, e.g. direct imports from other userscript extensions that are installed or recognition of the "install" button on popular userscript repositories.
Now You: Do you run userscripts or styles in your browser?Advertisement