A not-so-minimalistic web extension for Firefox that suspends natively (with tabs.discard) not-active tabs.
- Only minimal user-permissions are required (storage to save configuration and tabs)
- Whitelisting and blacklisting features. You can enter URLs or their parts to the corresponding field and the tabs, which url's contain these patterns will (not) be discarded. May be useful when reading manuals or browsing tubes.
- Supports regex (for some reason)
- Can ignore tabs playing sound
- Implements delayed suspend feature
- Suspends inactive loaded tabs only if their number exceeds the threshold set
-
Install node and npm
-
In the project directory run
make install
-
In the project directory run one of these commands:
make build-dev
to build for developmentmake build-prod
to build for productionmake pack
to build production version and pack it with web-ext
Building has been tested with:
- Node.js version 11.15.0
- npm version 6.9.0
- Arch Linux (5.1.7 x86-64)
-
Install node and npm
-
Int the project directory run
npm run install
-
In the project directory run one of these commands:
npm run build-dev
to build for developmentnpm run build-prod
to build for productionnpm run pack
to build production version and pack it with web-ext
Building has been tested with:
- Node.js version 10.13.0
- npm version 6.9.0
- Windows 7 SP1
For verification and calculating diffs with submitted addon, use Windows configuration. On Linux and MacOS systems diff will fail because of line endings difference affecting webpack hash generation. Or use diff with --strip-trailing-cr on .html and .js files.
To monitor changes in browser with hot-reloading you can do
npm run watch
ormake watch
to start rebuilding dist on every save in src directory. This is achieved via running webpack and web-ext both in watch mode with concurrently npm package. You can load extension in browser withnpm run browser
ormake browser
.- Sometimes the above is not the best choice, since browser can stop reloading the extension rebuild due to errors, in this case you should avoid running webpack and web-ext in watch mode. If you want to monitor changes, you can just
npm run browser
once after first build-dev and then run build-dev on each change you want to inspect.
The extension uses i18n, so if you want to participate in translating the extension texts into your language, please, refer to messages.json as an example and either create a pull request or create an issue on github. Note, that only "messages" properties needs to be translated, "descriptions" are aimed to help translators.
If you find a problem, please, create an issue.