paulius-valiunas / tabby

A web extension for managing great amounts of windows and tabs at ease.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is it?

ci

Tabby is an open-source window & tab manager that can manage great amounts of windows and tabs at ease.

You can install the latest stable version of Tabby on it's Firefox Add-on page: https://addons.mozilla.org/addon/tabby-window-tab-manager/ Or, to install the newest development version, see the Building, Installing, and Editing section.

Contributing

If you like this project, please share it. Your support is always welcomed!

Tabby is an open-source project and is in active development, so feel free to submit any issues that you are experiencing and I will do my best to fix it. And if you can fix the issue altogether, feel free to submit a pull request!

Building, Installing, and Editing

Prerequisites

  • Git
  • Rustup (rustc >= 1.62.1)
  • wasm-pack >= 0.10.3
  • Node.js >= 16.15.0 LTS
  • Firefox >= 59 (recommended)
    or
    Chrome >= 49 (fully tested on Chrome 72)

IMPORTANT NOTE: If you encounter an issue compiling the "lindera-ipadic" dependency on the npm run build:firefox step, it is likely that you do not have enough memory or CPU. This is especially an issue on virtual machines, and is hard to detect since the error messages are incredibly vague.
On an Ubuntu VM, 4gb RAM + 2 cores has been proven to work.

Building Tabby

  1. Open a git enabled shell of your choice (e.g. Command Prompt, Git Bash)
  2. Get the source code
    git clone https://github.com/Bill13579/tabby.git
  3. Go into the Tabby directory
    cd tabby
  4. Install dependencies with npm
    npm install
  5. Build v2-compat
    npm run build:v2-compat -- firefox/firefox.dev/chrome/chrome.dev/webext/etc
  6. Build Tabby
    Firefox: npm run build:firefox
    Chrome: npm run build:chrome
    WebExtension: npm run build:webext

The dist folder, after the build, can then be packaged as a zip file and installed.

Installation

Firefox

This will install Tabby as a temporary add-on, so you will need to re-do this everytime you restart Firefox.

  1. Start Firefox
  2. Go to about:debugging
  3. Press on the Load Temporary Add-on... button
  4. Select the manifest.json file in the dist directory

Chrome

  1. Start Chrome
  2. Go to chrome://extensions
  3. Press on the Load unpacked button
  4. Select the dist directory

Editing & Testing

After you edit the code, you will need to build again.

Re-do Step 6 of Building Tabby and

  • on Firefox, press the Reload button in the Tabby section of the about:debugging page.
  • on Chrome, press the Chrome Reload Icon button in the Tabby section of the chrome://extensions page.

Note: Content Scripts will only be reloaded for each tab once that tab is refreshed.

File Structure

icons/ - Directory for storing Tabby icons
icons/tabby.svg - Tabby icon (Vector)
icons/tabby.png - Tabby icon (Raster)

release/ - Release zip files

screenshots/ - Screenshots
screenshots-archive/ - Old screenshots of old releases

dist/ - Distribution directory
src/ - Source code directory (for more info, go to the README.md file in that directory)

LICENSE - License file
README.md - README file

libs/ (Libraries Used)

Tabby uses the great lz-string library for compression!
Used min.js file: https://raw.githubusercontent.com/pieroxy/lz-string/1.4.4/libs/lz-string.min.js
Source: https://raw.githubusercontent.com/pieroxy/lz-string/1.4.4/libs/lz-string.js
Source tree: https://github.com/pieroxy/lz-string/tree/1.4.4

About

A web extension for managing great amounts of windows and tabs at ease.

License:Mozilla Public License 2.0


Languages

Language:JavaScript 80.0%Language:Rust 20.0%