Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/greatsuspender/thegreatsuspender
A chrome extension for suspending all tabs to free up memory
https://github.com/greatsuspender/thegreatsuspender
Last synced: about 1 month ago
JSON representation
A chrome extension for suspending all tabs to free up memory
- Host: GitHub
- URL: https://github.com/greatsuspender/thegreatsuspender
- Owner: greatsuspender
- License: gpl-2.0
- Created: 2012-09-12T00:41:30.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2023-08-11T12:51:27.000Z (about 1 year ago)
- Last Synced: 2024-08-05T08:07:07.065Z (3 months ago)
- Language: JavaScript
- Homepage: https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg/
- Size: 6.99 MB
- Stars: 5,027
- Watchers: 141
- Forks: 901
- Open Issues: 392
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - greatsuspender/thegreatsuspender - 08 star:5.0k fork:0.9k A chrome extension for suspending all tabs to free up memory (JavaScript)
- awesome-starred - greatsuspender/thegreatsuspender - A chrome extension for suspending all tabs to free up memory (others)
README
# The Great Suspender
"The Great Suspender" is a free and open-source Google Chrome extension for people who find that chrome is consuming too much system resource or suffer from frequent chrome crashing. Once installed and enabled, this extension will automatically *suspend* tabs that have not been used for a while, freeing up memory and cpu that the tab was consuming.
If you have suggestions or problems using the extension, please [submit a bug or a feature request](https://github.com/greatsuspender/thegreatsuspender/issues/). For other enquiries you can email me at [email protected].
**If you have lost tabs from your browser:** I have written a guide for how to recover your lost tabs [here](https://github.com/deanoemcke/thegreatsuspender/issues/526
).### Chrome Web Store
The Great Suspender is [available via the official Chrome Web Store](https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg).
Please note that the webstore version may be behind the latest version here. That is because I try to keep webstore updates down to a minimum due to their [disruptive effect](https://github.com/greatsuspender/thegreatsuspender/issues/526).
For more information on the permissions required for the extension, please refer to this gitHub issue: (https://github.com/greatsuspender/thegreatsuspender/issues/213)
### Install as an extension from source
1. Download the **[latest available version](https://github.com/greatsuspender/thegreatsuspender/releases)** and unarchive to your preferred location (whichever suits you).
2. Using **Google Chrome** browser, navigate to chrome://extensions/ and enable "Developer mode" in the upper right corner.
3. Click on the Load unpacked extension... button.
4. Browse to the src directory of the unarchived folder and confirm.If you have completed the above steps, the "welcome" page will open indicating successful installation of the extension.
Be sure to unsuspend all suspended tabs before removing any other version of the extension or they will disappear forever!
### Build from github
Dependencies: openssl, npm.
Clone the repository and run these commands:
```
npm install
npm run generate-key
npm run build
```It should say:
```
Done, without errors.
```The extension in crx format will be inside the build/crx/ directory. You can drag it into [extensions] (chrome://extensions) to install locally.
### Integrating with another Chrome extension or app
This extension has a small external api to allow other extensions to request the suspension of a tab. See [this issue](https://github.com/greatsuspender/thegreatsuspender/issues/276) for more information. And please let me know about it so that I can try it out!
### Windows Group Policies
It is possible to force settings by defining group policies on Microsoft
Windows.The whitelist is stored internally as a string, with one URL per line.
The following settings can be defined:
* `SCREEN_CAPTURE` (string, default: '0')
* `SCREEN_CAPTURE_FORCE` (boolean, default: false)
* `SUSPEND_IN_PLACE_OF_DISCARD` (boolean, default: false)
* `DISCARD_IN_PLACE_OF_SUSPEND` (boolean, default: false)
* `USE_ALT_SCREEN_CAPTURE_LIB` (boolean, default: false)
* `DISCARD_AFTER_SUSPEND` (boolean, default: false)
* `IGNORE_WHEN_OFFLINE` (boolean, default: false)
* `IGNORE_WHEN_CHARGING` (boolean, default: false)
* `UNSUSPEND_ON_FOCUS` (boolean, default: false)
* `IGNORE_PINNED` (boolean, default: true)
* `IGNORE_FORMS` (boolean, default: true)
* `IGNORE_AUDIO` (boolean, default: true)
* `IGNORE_ACTIVE_TABS` (boolean, default: true)
* `IGNORE_CACHE` (boolean, default: false)
* `ADD_CONTEXT` (boolean, default: true)
* `SYNC_SETTINGS` (boolean, default: true)
* `SUSPEND_TIME` (string (minutes), default: '60')
* `NO_NAG` (boolean, default: false)
* `WHITELIST` (string (one URL per line), default: '')
* `THEME` (string, default: 'light')### Contributing to this extension
Contributions are very welcome. Feel free to submit pull requests for new features and bug fixes. For new features, ideally you would raise an issue for the proposed change first so that we can discuss ideas. This will go a long way to ensuring your pull request is accepted.
### License
This work is licensed under a GNU GENERAL PUBLIC LICENSE (v2)
### Shoutouts
This package uses the [html2canvas](https://github.com/niklasvh/html2canvas) library written by Niklas von Hertzen.
It also uses the indexedDb wrapper [db.js](https://github.com/aaronpowell/db.js) written by Aaron Powell.
Thank you also to [BrowserStack](https://www.browserstack.com) for providing free chrome testing tools.