Tab Butler
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
```bash
git clone https://github.com/MitchellMarkGeorge/TabButler
```
### Install Dependencies
```bash
npm install
```
### Start Dev Build
If you are developing for Chrome/Chromeium browsers, use
```bash
npm run start:chrome
```
If you are developing for Firefox, use
```bash
npm run start:firefox
```
If you are developing for both Chrome and Firefox, use
```bash
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