Skip to content

MitchellMarkGeorge/TabButler

Repository files navigation

Tab Butler

Discord

Tab Butler Promo Image

Instructions

Development Quick Start

Prerequisites

  • Node.js (tested on v18)
  • NPM (tested on v8.6.0)
  • Chrome (>= v88), has only been tested here

Note: Even thought the extension uses the webextension-pollyfill library, it has currently only been tested on Chrome. However, it should work on other browsers like Firefox, Opera, Edge, etc.

Clone Repo

git clone https://github.com/MitchellMarkGeorge/TabButler

Install Dependencies

npm install

Start Dev Build

If you are developing for Chrome/Chromeium browsers, use

npm run start:chrome

If you are developing for Firefox, use

npm run start:firefox

If you are developing for both Chrome and Firefox, use

npm run start:all

Note: For minified production build, use respective npm run build instead.

Add To Chrome/Chromeium Browsers

  • Open chrome://extensions
  • Enable Development mode
  • Click Load Unpacked button
  • Navigate to repository
  • Select dist/chrome directory

Add To Firefox

  • Open about:debugging
  • Click the This Firefox options
  • Click the Load Temporary Add-on button
  • Navigate to repository
  • Select the manifest.json file in the dist/firefox directory
Usage
Shortcut Description
ctrl + shift + space Toggle tab search in current page
alt + shift + space Toggle tab actions in current page

Note: For Mac, cmd is used instead of ctrl and option is used insead of alt. On Windows and Linux, the Tab Actions modal is toggled with alt + shift + K

Built With

  • TypeScript (both content and background script)
  • Web Extensions Polyfill (makes the extension cross-platform)
  • React (for the actual search modal in content script)
  • CSS (for some minor styling in content script)

Versioning

We use SemVer for versioning.

Note: Because of the way that browser extensions do versioning, the "version" field in the manifest files are used for internal puposes and do not represent the actual version of Tab Butler.

To refer to the actual version, look either to the "version_name" field in the manifest file or the "version" field in the package.json (this is what the user will actually see).

Authors

  • Mitchell Mark-George - Initial work
  • Dylan Player - Readme development and documentation

See also the list of contributors who participated in this project.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the MIT License - see the LICENSE.txt file for details