Code Monkey home page Code Monkey logo

tabcollector's Introduction

TabCollector

A browser extension that collects a list of open tabs, then closes them to save resources.

Note

I am doing my college exams at the moment - development has been put on hold. I will help with bug fixes, but new featues will have to wait. Please still open issues as I will still look at them, I just cannot promise I will have time available to address them. Thank you for your understanding and I hope you find TabCollector useful, as it is currently stable and ready to use.

Example Use Cases

  • Online Shopping - Collect a list of products for later review
  • YouTube - Collect a list of videos, without having to sign in with a Google account and make a playlist
  • Save Resources - Even when your tabs are in the background, they are still using your computer's resources. I am sure we are all aware of the "Chrome memory hog" issue. However, the tab collection is just a single, static page that does no further processing once loaded and uses very little memory. This can be very helpful for computers with limited RAM, by effectively hibernating the websites and removing their resource consumption. You could even save the collection URL and close the browser all together, then reopen the collection when you need to access the links.

Tip

The tab collection URL can be shared with other people with the TabCollector extension and they can view those lists. This is a quick and handy way to share a lot of links, rather than copy-pasting each one into an email or message. This even works offline, since all of the processing is done locally on your browser.

Installation

Important

Distributables will not be generated anymore starting v1.4, since they require signing from the vendor's extension store. I am in the process of sorting this out. Any distributables from previous releases will not work.

The distributables will be replaced by zips of the /building/build/* folders for each browser.

Chrome

  1. Download the latest release and extract
  2. Open chrome://extensions
  3. Enable Developer Mode
  4. Click Load unpacked
  5. Provide the extracted folder

Firefox

Firefox doesn't allow unverified extensions, unless you want to use temporary mode. That means you have to re-install the extension every time you start the browser. Until there is a signed release, it will be unuseable on Firefox for normal users until it is signed.

However, there is a workaround:

  1. Clone the repo
  2. Install Mozilla's web-ext tool
  3. Run cd building && bash 1-build.sh to build the extension (or use the zipped
  4. Run cd build/firefox && web-ext run to launch Firefox with the extension installed
  5. (optional) Link Firefox to that command: nano ~/.bashrc and add alias firefox='cd PATH_TO_REPO/building/build/firefox && web-ext run'
  6. ^ Now you can launch Firefox (with the extension installed) simply by running firefox in the terminal

Other Browsers

If you would like to see this extension in another browser, please open an issue with the [FEATURE] tag. While I am in the process of sorting out the Chrome and Firefox signing, further browser support is on hold, but please do open the issue so we can evaluate it in the future.

Feedback

Please share any thoughts in the v1 Feedback Discussion.

Bug Reporting

  • Please share any bugs or errors you experience in an issue with the [BUG] tag.
  • Please include your browser, browser version, and extension version.
  • Please search the open and closed issues to help avoid creating duplicates.
  • If built from source, please use the latest commit of main and include the commit hash in the issue body.

Acknowledgments

Thank you to the following projects and websites:

  • jQuery - DOM manipulation and helpful utilities
  • LESS - CSS precompiler
  • svgrepo - Open-license SVG icons
  • svgcrop - Remove empty space around SVGs

Contributors

Please see CONTRIBUTING.md for information on contributing to this repository.

Thank you very much to everyone that contributes to this project.

tabcollector's People

Contributors

pw-64 avatar

Stargazers

Rowanelizabeth avatar  avatar

Watchers

 avatar

tabcollector's Issues

[FEATURE] Tab-specific storage

Move the storage of collections away from chrome.storage.local and into tab-specific storage so that collections won't be lost as long as the tab exists (if possible).

[FEATURE] Tab name as a label

If the tab names are converted to labels linked to the checkboxes, you can click either the label or the checkbox.

[FEATURE] Ignore other tab collections in the window

Ignore other tab collections in the window when activating multiple times, otherwise the collection will be lost (should be an easy adjustment in popup.js tabs.forEach to check if the URL starts with chrome-extension://[ID]

[FEATURE] Scripts for other OSes

It would be great to have scripts for Windows and other operating systems that cannot run the bash script.
They should use similar formatting and comments as the bash script so that it is easily maintainable.

Scripts:

  • /building/1-build.sh
  • /testing/chrome.sh
  • /testing/firefox.sh

I no longer have a Windows system and have very little experience scripting for it, so help would be appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.