This extension to Firefox provides the ability to work with tabs as "trees".
New tabs opened from the current tab are automatically organized as "children" of the current tab. Such "branches" are easily folded (collapsed) by clicking on the arrow shown in the "parent" tab, so you no longer need to suffer from too many visible tabs. If you want, you can restructure the tree via drag and drop.
Please enjoy as you like!
strict_min_version information in the install manifest to know the minimum supported Firefox version.treestyletab-we.xpi.zip manually to extract the XPI package file treestyletab-we.xpi, otherwise you'll see an error about invalid manifest.Development builds are not signed, so you need to load them by an atypical method. (Please click this section to see instructions.)
There are two methods to try them in your environment:
about:debugging and click "Load Temporary Add-on" button, then choose a XPI file. The development build will be loaded and active until you restart Firefox. Note: don't uninstall the remporarily installed dev build even if you finished a test, because uninstallation clears all configs of TST. Instead you just restart Firefox, then temporarily installed build are unloaded and the previously installed version will go back.about:config and set xpinstall.signatures.required to false. Then you will be able to install such an unsigned XPI file.Also, you can build a custom development build locally. For example, here are the steps to build an XPI on Ubuntu (native, or WSL on Windows 10):
$ sudo apt install git nodejs npm jq zip
$ git clone --recursive https://github.com/piroor/treestyletab.git
$ cd treestyletab/webextensions
$ make
Steps to build a specific revision (for example bb467286d58b3da90fd1b2e6ee8a8016e3377b97):
$ cd treestyletab/webextensions
$ git checkout bb467286d58b3da90fd1b2e6ee8a8016e3377b97
$ git submodule update
$ make
Then you will see new .xpi files in the current directory. You can install such a development build via about:debugging. Click the Load Temporary Add-on button and choose treestyletab/manifest.json or a built .xpi file.
TST provides an API for other extensions. Some extend the behavior of TST's sidebar panel. See also the list of known helper addons.
There are some similar project by someone not me providing similar features:
Vertical tab bar with tree (and more features)
Vertical tab bar with grouping
Vertical tab bar without tree or grouping
Listing tabs with a search field
Some extensions provide a pop-up list of tabs with a search field that complements TST:
for Google Chrome and Chromium
for Vivaldi
All feedback is handled as GitHub issues.
Please read FAQ below, before you post any new feature request.
browser.tabs.closeTabByDblclick emulation, browser.tabs.selectOwnerOnClose emulation, warnings for closing multiple tabs, style switch for leftside/rightside sidebar)Please remind that some existing features or options may violate this policy due to historical reasons.
Support for Pale Moon, Waterfox, and other Firefox forks
Please use a forked version of TST for Pale Moon instead.
TST is designed for latest release of Mozilla Firefox (*Please see also the strict_min_version information in the install manifest to know the minimum supported Firefox version), and other applications forked from Firefox are not supported.
"Waterfox Current" looks based on Firefox ESR68 and you can install TST 2.0 and later to it. However "Waterfox Classic" based on Firefox 56 is never supported.
Support for other browsers based on Chromium (ex. Google Chrome) and WebKit (ex. Safari)
TST can't be ported to other browsers because it depends on some Firefox specific APIs like sidebar, so it needs to be re-implemented completely.
Sorry, but I won't re-implement TST as an extension for other browsers by myself because I use Firefox.
(But there are some alternatives developed by others.)
Support for Firefox Mobile
Currently I have no plan to add support for mobile devices (Android and iPhone) from some reasons:
How to hide the top tab bar (horizontal tab strip)?
As a workaround, you can create a userChrome.css file.
But please remind that I - the original author of TST - never recommend such an usage, because
$ claude mcp add treestyletab \
-- python -m otcore.mcp_server <graph>