• Stars
    star
    3,485
  • Rank 12,775 (Top 0.3 %)
  • Language
    JavaScript
  • License
    Other
  • Created about 14 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tree Style Tab, Show tabs like a tree.

Tree Style Tab (aka TST)

Build Status

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.

  • Such a tree of tabs will behave like a visual browsing history for you. For example, if you see a list of search results for a topic, each search result link will open in new child tab. New tabs opened from these "child" tabs will appear as descendants of their originating tabs. You'll easily dig and dig deeply, without losing your browsing trail - if you want to go back to the original search result, you just have to switch to the "root" tab.
  • Moreover, each tree will reflect a group of tabs on a similar topic.

Please enjoy as you like!

Release builds

Development builds

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:

  • Go to about:debugging and click "Load Temporary Add-on" button, then choose the downloaded file. The development build will be loaded and active until you restart Firefox.
  • If you want to try it as a regular addon instead of a temporary addon, you need to use Nightly instead of the stable Firefox or Firefox beta. On Nightly, go to about:config and set xpinstall.signatures.required to false. Then you will be able to install such an unsigned addon.

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.

Extensions that extend TST

TST provides an API for other extensions. Some extend the behavior of TST's sidebar panel:

Similar projects

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

Requests, proposals, or unexpected trouble from bugs

All feedback is handled as GitHub issues.
Please read FAQ below, before you post any new feature request.

Basics

  • TST is basically designed to be used as a permanently-shown tab management UI, an alternative of Firefox's native tab bar.
    • To avoid users' confusion, TST respects Firefox's built-in behavior and features regarding the tab bar: tab context menu, gestures, etc.
  • TST is designed to work with "tree of tabs".
    • TST's tree is designed to work as an extended memory for your brain. To satisfy this concept, TST is designed to guess the relationship between tabs automatically, from the context.
    • Better usability for ungrouped flat tabs in a vertical tab bar is an added benefit.

Any feature request unrelated to these points may be rejected, even if many people love it. For example: session management, search field, detailed focus control of tabs, and so on.

Instead of adding more features, I hope to make TST compatible with other tab-related extensions. If it is required for better compatibility, I have added public APIs for other extensions, and there are many implementations using this API.

If you need any new APIs, please file API proposals in the issue tracker.

FAQ / frequently rejected requests/proposals

Other browsers support

  • 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:

    • Firefox Mobile doesn't support Sidebar API.
    • Mobile devices have limited RAM. Too many numbers of tabs opened by TST may lead OOM killer to kill Firefox Mobile.

Appearance

  • 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 TST doesn't cover full features of the native tabs due to restrictions of WebExtensions API so some tab features become inaccessible, and I also believe that TST is not enough stable to replace Firefox's tab bar completely. Thus I usually use TST together with horizontal tab bar for safety.

    If I hid the tab bar on my environment in my daily use, I might maintain the userChrome.css hack by myself, but actually I don't do that. So guidance to hide the tab bar need to be maintained by people who really use. I think it is a nightmare for regular people who don't know how to research and find out solutions with debugger. I intentionally don't describe details how to hide the horizontal tab bar, to save people from critical troubles.

    I say again, I don't recommend you to hide the horizontal tab bar if you cannot write any suitable userChrome.css hack by yourself. I have no motivation to investigate how to hide the horizontal tab bar, because I'll never do that and it may lead people to troubles.

  • How to apply GTK+ theme color on Linux?

    Due to restrictions within Firefox, TST can not apply GTK+ theme color to its appearance by default. If you want TST's UI with colors to match other parts of Firefox, you need to configure your environment, Firefox and TST as:

    • Set and export an environment variable GTK_THEME in your .profile or somewhere like: export GTK_THEME=<Your theme name like Arc-Dark> (I don't know why but CSS system colors on Firefox won't respect GTK's theme colors, if this environment variable is missing.)
    • Firefox's about:config
      • widget.content.allow-gtk-dark-theme=true (not default)
      • widget.content.gtk-theme-override=unset (default)
    • TST's options (pattern 1, using "Proton" theme)
      • "Appearance" => "Theme" => "Proton" (default)
      • "Development" => "Color scheme" => "System Color" (default)
    • TST's options (pattern 1b, using "Photon" theme)
      • "Appearance" => "Theme" => "Photon" (default)
      • "Advanced" => "Extra style rules..." => paste these lines (not default)
      • "Development" => "Color scheme" => "System Color" (default)
    • TST's options (pattern 2, using less extra style rules)
      • "Appearance" => "Theme" => "High Contrast" (not default)
      • "Advanced" => "Extra style rules..." => no active style rule (default)
      • "Development" => "Color scheme" => "System Color" (default)

    For more details, please see also the discussions in the issue #2667.

  • How to apply colors customized via Firefox Color?

    In short, there is a workaround:

    1. Go to TST's options.
    2. Choose "Development" => "Color scheme" => "Photon".
    3. Add a CSS declaration applying Firefox's native tab colors to "Advanced" => "Extra style rules for contents provided by Tree Style Tab".

    For more detailed background, please see also my comment in the issue #2780.

  • I cannot find out suitable code snippet satisfying my demand. Is there any reference document?

    Sadly there is no stable reference document due to unstableness of TST's DOM structure. The code snippets are just examples for the time they were written, and they may be broken by changes on TST itself, thus they need to be updated by users through investigation with the debugger.

Feature requests

  • Horizontal tab bar

    It is not possible for Tree Style Tab to support horizontal tabs. TST 2.0 and later is implemented as a Firefox sidebar, there is no chance to provide a horizontal version of the extension.

  • Better support for non-indented tabs

    This is beyond the scope of "Tree" Style Tab. There exist complementary extensions that can provide vertical tabs without a tree.

  • I don't need an automatically organized tree, I want to organize trees myself

    You can switch off this behavior:

    1. Go to TST's configuration.
    2. "Development" section.
    3. Expand the section "All Configs". Then all internal configurations are listed.
    4. Clear the โ˜ autoAttach checkbox.
    5. Clear the โ˜ syncParentTabAndOpenerTab checkbox.

    With those preferences unset, TST will no longer automatically attach new tabs to a tree.

    To select multiple tabs, for drag-and-drop: Shift/Ctrl-click. Multiple Tab Handler has additional features.

  • Add more minor/trivial options

    Please see the list of helper extensions. For the appearance of tabs in the sidebar, custom user styles may help.

    The variety of configurations for TST will not increase infinitely. Instead, I hope to reduce the variety. High customizability is out of scope. I want to limit options to those that are truly essential. Too many options would kill this project, because they would cloud the main concept of TST and would attract people who don't share my core vision.

    Here is a list of policies about accepting or rejecting new option requests:

    • If Firefox has the option, TST also should provide similar option to emulate it. (ex. browser.tabs.closeTabByDblclick emulation, browser.tabs.selectOwnerOnClose emulation, warnings for closing multiple tabs, style switch for leftside/rightside sidebar)
    • If TST imitates Firefox's UI and Firefox doesn't provide any options to control them, TST basically don't provide options for them. (ex. visibility options for imitated context menu commands)
    • If it is essential for accessibility, TST should provide the option. (ex. text direction option, animation effects, "High Contrast" theme, color switch for the toolbar button icon)
    • If it is impossible to be done via simple CSS tricks, TST should provide the option. (ex. unfaviconizing of pinned tabs, positioning options for new tabs, drag-and-drop behavior)
    • If it is already available during combination with another extension, TST don't provide options for them. (ex. coloring of tabs, suspending of tabs, detailed control of tab focus)

    Please remind that some existing options may violate these policies due to historical reasons.

  • Context menu to reach Tree Style Tab options

    If you use the TST toolbar button, you can open the options page directly from the context menu of the button. Globally, Firefox provides a "Manage Extension" command in the context menus of toolbar buttons that are provided by extensions. TST provides additional commands, such as the options dialog at the menu for a shortcut.

    I'm against providing a command such as "TST Options" in the tab context menu, for these reasons:

    • The command is fundamentally unrelated to the context: "what command do you want to invoke for the tab?"
    • If you need to change options too frequently during daily use, something is wrong. For example, failure of auto-detection of TST for your action's context. Instead of working around, I believe that such problems should be fixed through improved auto-detection by TST.

    If you do frequently open TST options, you can bookmark this address: ext+treestyletab:options โ€“ your bookmark will open the options page in a tab.

  • How to customize tab context menu?

    You can do this with userChrome.css. There's advice for activation of userChrome.css and style rules to hide specific context menu items.

    I have no plan to add a configuration UI for items that are native to the tab context menu of Firefox. Here are some comments describing my reasons for this decision. (There is another FAQ topic, please see it also.)

  • Automatically hide the sidebar

    Due to limitations of the WebExtensions API, this is impossible. There exists a workaround with userChrome.css.

    The WebExtensions API allows us to toggle visibility of the sidebar with keyboard shortcuts and the toolbar button. Other arbitrary timings are disallowed, including mouseover and long-press of a key.

  • I want the "Bookmarks" sidebar to appear alongside the sidebar of Tree Style Tab

    This is currently impossible due to Mozilla bug 1328776 - Provide ability to show multiple sidebar contents parallelly). Workarounds include:

    • TST Bookmarks Subpanel, which places a collapsible "Bookmarks" panel below Tree Style Tabs.
    • Aggregate Tabs to Main Window, through which multiple windows can help your workflow โ€“ "one window for a sidebar", "another window for browsing tabs". You can treat such windows as virtual multiple sidebars.
  • High-power management of tree, like sorting child tabs, auto-modification of tree, renaming tabs, and so on

    Please see the list of helper extensions. TST More Tree Commands's issue tracker may be a good place to track your request.

    Please note that "useful" features won't be implemented to TST itself as a built-in feature. (There is another FAQ topic, please see it also.)

    I believe that generally "tree of tabs should be a visualized history of web browsing", because they are built on relations where you came from. Possibly such a tree is facially chaotic, but it just mirrors your actual footmarks, so you'll easily find out where is the target tab based on a map in your mind. Moreover, those relations themselves may let you recall forgotten idea you thought while you were browsing those tabs.

    On the other hand, sorted tabs based on URLs or something will be beautiful - but that's all. Such sorted tabs won't help me - I'm very forgetful. In other words, I just need something which memorizes my chaotic mind as-is.

    By the way, my another addon Multiple Tab Handler will help you if you frequently modify tree by drag and drop. It provides ability to select multiple tabs by Ctrl-Click or Shift-Click and you can drag selected tabs at once.

  • Configuration UI to change appearance of tabs in the vertical tab bar, for example, color, height, visibility of the scrollbar, transparency of tabs, and so on

    There is a plan to implement an input field to write custom CSS rules, so it will work like as userChrome.css. See the code snippets and details of inspection for the sidebar contents.

  • Add an option to change the keyboard shortcut from F1

    Firefox itself provides the feature.

  • Better compatibility with session manager extensions, or add high-power session management feature

    TST should work well with any other session manager extension together, if it respects openerTabId of tabs.Tab. Tab Session Manager (aka TSM) is one of examples. (Moreover, TST also provides an API to open tabs with structure more safely. TST and the session manager extension will work together more smoothly, if it opens tabs via the API.)

    In other words, TST can't collaborate with any other extension if it does not give openerTabId as a hint to construct trees. On such cases it is required to improve the other collaborator extension itself. Sadly it beyonds my power and needs a cooperation by the extension's author.

    As a workaround, you can use TST's bookmarking feature to save trees of tabs. Select tabs (via Ctrl-click or Shift-click on tabs in the sidebar) and choose "Bookmark Tabs..." from the context menu, then TST creates a bookmark folder and bookmarks under the folder from selected tabs. After that please right-click on the bookmark folder and choose "Open All as a Tree", then you'll get tabs with restored tree structure.

Troubles, unexpected behaviors

  • TST suddenly became not working! No reaction on the sidebar!
    1. Please try closing the sidebar and reopen it again, to reload the sidebar presentation module of TST. TST may work again if the trouble is due to a disconnection between TST's internal modules.
    2. If reopening the sidebar doesn't solve the problem, try disabling and re-enabling TST on the add-ons manager, to reload TST completely. TST may work again if the trouble is due to something broken internal status of TST itself.
    3. If both reopening and reloading don't solve the problem, restart Firefox please. If the trouble is due to something problems happening in a deeply low layer, we cannot recover the normal status without restarting of Firefox.
  • I cannot drop tabs to the bookmarks toolbar to create bookmarks. (#2033)

    In short: shift-dragging of tabs will allow you to drop tabs to the bookmarks toolbar. Otherwise TST Bookmarks Subpanel possibly helps you.

    From a change introduced at the bug 1453153 (affects on Firefox 63 and later), now Firefox doesn't allow extensions to provide ability to do "creating bookmarks (or links) by drag and drop of tabs" and "detach a tab to a new window by dropping it outside of the window" in same time - those functionailities are quite exclusive. (For more technical details, see my comment at the issue #2033.)

    Thus, now TST provides two different effects to gestures:

    • Dragging tabs to out of the tab bar: detach dropped tabs to a new window. You cannot drop tabs to the bookmark toolbar.
    • Shift-dragging tabs to out of the tab bar: create links to the desktop from dropped tabs. You can drop tabs to the bookmark toolbar to create bookmarks.

    You can switch these behaviors. Please go to the "Drag and Drop" section of TST's options page. (By the way, TST Bookmarks Subpanel's small Bookmarks panel always accept drag and drop of TST's tree without such modifier keys.)

    For more preference, you can use a small drag handles with a helper addon: they will appear when the cursor is hovering on left edge (or right edge for inverted appearance) of a tab for a while. You can start dragging of the tab from one of handles, with specified effect for each without any modifier key.

  • New tab is not opened as a child tab, if it is opened by something other extension

    TST should work well with any other extension together, if it respects openerTabId of tabs.Tab. Tabs opened with the information will automatically organized as children of the opener tab, by TST.

    In other words, TST can't collaborate with any other extension if it does not give openerTabId as a hint to construct trees. On such cases it is required to improve the other collaborator extension itself. Sadly it beyonds my power and needs a cooperation by the extension's author.

  • New tab is not opened with expected position and container, when it is opened as a blank tab instead of the default new tab page. (#2176)

    This is a known issue and hard (or impossible) to be fixed on TST, due to restrictions of WebExtensions API. TST cannot detect "a new blank tab is intentionally opened by the user with the keyboard shortcut Ctrl-T", because all new tabs are initially opened with the about:blank URL even if you open a new tab from a link. Sadly there is no more hint to detect the context how a new tab is opened by you.

    For a workaround, you can define a custom shortcut to open a new blank tab with TST's settings: assigning something shortcut for the command "Open a new tab: Child Tab" at the add-ons manager. Go to about:addons => click the gear button => "Manage Extension Shortcuts" => "Tree Style Tab" => "Show 40 More" => "Open a new tab: Child Tab" => set something shortcut like Ctrl+Alt+T, then you'll get a child tab as expected with the shortcut instead of the default Ctrl-T.

  • New tab is not opened with expected position and container, when it is opened with a custom URL instead of the default new tab page. (#2485)

    You need to change the TST's option New Tabs Behavior => Basic control for New Blank Tab => Guess a newly opened tab as opened by "New Blank Tab" action, when it is opened with the URL to detect new tabs opened with any custom URL. It is about:newtab by default for Firefox's native new tabs.

    • If you use any addon providing a fixed custom new tab page (ex. Momentum), open a new tab and show the developer tool with the keyboard shortcut Ctrl-Shift-K, then type location.href in the console. You'll see the actual URL of the new tab page like moz-extension://XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/dashboard.html. The UUID part is random due to security reasons.
    • If you use New Tab Override to set a custom URL for new tabs, you cannot get the actual internal URL of new tabs with the method above, because it is immediately redirected. It is moz-extension://XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/html/newtab.html, the UUID part can be found at about:debugging#/runtime/this-firefox => Extensions => New Tab Override => Internal UUID.
  • Tabs become flatten suddenly / tree structure is lost accidentally

    Such a problem may happen sometimes regardless I'm continuously struggling to solve them. Sadly on most cases there is no way to get back lost tree structure. (Sometimes, closing the window and restoring it via Ctrl-Shift-N may restore the window with correct tree structure, but it is effective only on very limited cases.) There are some workarounds to save your tree of tabs before you encounter such a situation:

    • Tab Session Manager supports saving sessions with tree information. Please remind that you need to activate compatibility option manually.
    • TST allows you to take a snapshot of tabs tree to a bookmark folder. Select all tabs (via shift-click, ctrl-click, or "Select All Tabs"), and bookmark selected tabs via the "Bookmark Tabs..." command in tabs context menu on the sidebar panel. Created bookmarks will have > marks in their title, it means their tree level. Right click on the bookmark folder and choose the command "Open All as a Tree", then TST will open tabs from the bookmark folder with tree structure constructed from the > marks of their title.
  • "Send Tab/Tree to Device" does not work (#2991)

    In short: it is unavoidable problem. You need to use the feature very carefully due to unavoidable restrictions.

    • Firefox does not allow addons to access Firefox Sync features like "send tab to device" directly. Such an API proposal was already rejected. See also: 1417183 - Provide a web extensions API-based way to send pages between devices (WONTFIX)
    • Instead, storage.sync API is the only one method for addons to share user data across devices.
    • Thus TST simulates Firefox's "send tab to device" feature based on storage.sync API. The simulated feature does not work same as Firefox's native one due to various restrictions.
      • TST tries to suggest device name from available information, but it may have less identifiability because Firefox does not allow addons to get native device name. Thus you need to give enough identifiable name manually.
      • storage.sync has no guarantee that written data is synchronize immediately. Even if you change device name from TST options or choose the "send tab/tree to device" command, you may need to wait until Firefox synchronize storage.sync data. Sadly we don't know when it happens.
      • So, if you need to send or receive tabs via TST's "send tab/tree" command immediately, you'll need to run "sync now" command of Firefox itself on both sender and receiver Firefoxes after you ran the "send tab/tree" command.
      • You cannot send tabs from Firefox Desktop to Firefox Mobile via TST's tab context menu. You need to install TST to both sender and receiver Firefoxes, but TST is not available on Firefox Mobile.

    To avoid those restrictions I always use both horizontal and vertical tab bars together. I ordinary use Firefox's native "Send Tab to Device" command instead of TST's one. This is one of reasons why I don't recommend to hide the horizontal tab bar.

Other topics

  • How to donate to this project?

    Thanks, but sorry, I have no plans to accept any donations for these reasons:

    • The biggest reason is: because I want to keep me as the prime user of this project. I want to keep having a privilege to say "no" about requests that do not match my vision. My hands are already full with maintenance of Tree Style Tab for my use case. (Of course I know that donation is not payment, but I'm afraid that I would think about voices from people who did donation more seriously and it would unconsciously conflict with my policies.)
    • Also, I'm afraid of social undermining.
    • I'm an employee of the ClearCode Inc. My employer allows me to develop my extensions during business hours, because my job is technical support to customers (enterprise users of Firefox and Thunderbird) and the development increases my skills with Firefox and Thunderbird. In other words, my addon projects already have monetary support enoughly. Stagnation of my addon projects are mostly caused from technical reasons or lowering of motivation, not monetary reasons.

    Any other contribution to this project is welcome - translation, debugging, triaging of issues, and more. If you have fixed a bug you met, please send a pull request - I'll merge it. If you have different plans about TST, please fork this project freely for your purpose, if needed.

  • How can I translate Tree Style Tab?

    See the Notes for translators

Privacy Policy

This software does not collect any privacy data automatically, but this includes ability to synchronize options across multiple devices automatically via Firefox Sync. Any data you input to options, and URL of tabs you send to other devices may be sent to Mozilla's Sync server, if you configure Firefox to activate Firefox Sync.

ใ“ใฎใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใฏใ„ใ‹ใชใ‚‹ใƒ—ใƒฉใ‚คใƒใ‚ทใƒผๆƒ…ๅ ฑใ‚‚่‡ชๅ‹•็š„ใซๅŽ้›†ใ—ใพใ›ใ‚“ใŒใ€Firefox Syncใ‚’ไป‹ใ—ใฆ่‡ชๅ‹•็š„ใซ่จญๅฎšๆƒ…ๅ ฑใ‚’ใƒ‡ใƒใ‚คใ‚น้–“ใงๅŒๆœŸใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ๅซใฟใพใ™ใ€‚ Firefox Syncใ‚’ๆœ‰ๅŠนๅŒ–ใ—ใฆใ„ใ‚‹ๅ ดๅˆใ€่จญๅฎš็”ป้ขใซๅ…ฅๅŠ›ใ•ใ‚ŒใŸใƒ‡ใƒผใ‚ฟใŠใ‚ˆใณไป–ใฎใƒ‡ใƒใ‚คใ‚นใซ้€ไฟกใ™ใ‚‹ใ‚ˆใ†ๆŒ‡็คบใ—ใŸใ‚ฟใƒ–ใฎURLใฏใ€MozillaใŒ้‹็”จใ™ใ‚‹Syncใ‚ตใƒผใƒใƒผใซ้€ไฟกใ•ใ‚Œใ‚‹ๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚

More Repositories

1

tweet.sh

Twitter client written in simple Bash script
Shell
237
star
2

multipletab

Multiple Tab Handler, Provides feature to close multiple tabs.
JavaScript
81
star
3

copy-selected-tabs-to-clipboard

Provides ability to copy title and URL of selected tabs to the clipboard for Firefox 63 and later.
JavaScript
80
star
4

textlink

Text Link, Allows URI texts written in webpages to be loaded by double clicks.
JavaScript
59
star
5

suspendtab

Suspends background old tabs automatically to save memory usage.
JavaScript
55
star
6

xulmigemo

XUL/Migemo, Provides advanced incremental search for any language.
JavaScript
37
star
7

tweetbot.sh

A bot program for Twitter, written in simple Bash script
Shell
30
star
8

tst-more-tree-commands

Provides extra tree manipulation commands for Tree Style Tab.
JavaScript
24
star
9

webextensions-lib-shortcut-customize-ui

Generates configuration UI for keyboard shortcuts, for WebExtensions-based Firefox addons.
JavaScript
20
star
10

tst-bookmarks-subpanel

This is a Firefox addon providing the "Bookmarks" subpanel for Tree Style Tab.
JavaScript
18
star
11

save-selected-tabs-to-files

Provides ability to save selected tabs to local files for Firefox 63 and later.
JavaScript
18
star
12

restartless

Restartless Addon, A template for restartless addons.
JavaScript
17
star
13

foxsplitter

Fox Splitter (old name: Split Browser), Splits browser window as you like.
JavaScript
17
star
14

makexpi

Build scripts for XPI: creating, publishing and providing auto-update.
Shell
13
star
15

webextensions-lib-configs

Configuration library for Firefox addons based on WebExtensions
JavaScript
10
star
16

newtabfromlocationbar

Opens new tabs from the location bar, by conditions.
JavaScript
9
star
17

webextensions-lib-l10n

Provides ability to localize your HTML file with i18n messages.
JavaScript
9
star
18

ctxextensions

ContextMenu Extensions, Adds many useful features to the browser.
JavaScript
9
star
19

piping.sh

Allows you to use an SSH server as a piping-server.
Shell
8
star
20

aggregate-tabs-to-main-window

Aggregate new tabs to a window which has most many tabs and largest size.
JavaScript
8
star
21

secondsearch

Second Search, Shows tiny popup for the search bar, to allow you to search by another engine quickly.
JavaScript
8
star
22

node-mozlz4a

Library to operate Mozilla Firefox's compressed files (jsonlz4 etc.)
JavaScript
7
star
23

webextensions-lib-menu-ui

Menu-like UI library for Firefox addons based on WebExtensions
JavaScript
7
star
24

popupalt

Popup ALT Attribute, Popups alternate texts of images or others like NetscapeCommunicator(Navigator) 4.x, and show long descriptions in the multi-row tooltip.
JavaScript
7
star
25

autodisableime

Auto Disable IME, Makes IME disabled automatically.
JavaScript
7
star
26

moezilla-memorial-photobook

A project to issue Moezilla photobook including articles of Mozilla Firefox and Thunderbird history
6
star
27

tabkiller

Tab Killer, Disables tabbed browsing features of Mozilla completely.
JavaScript
6
star
28

emoji-editor-html

Simple WYSWIG Emoji Editor
HTML
6
star
29

openlinkintab

Loads links in new tabs, by conditions.
JavaScript
6
star
30

autocomplete-forms-clean

Activate autocomplete for all webpages (forked version of https://addons.mozilla.org/firefox/addon/autocomplete-forms-for-firefox/ )
JavaScript
6
star
31

viewsourceintab

Source Viewer Tab, Shows web page sources in tab.
JavaScript
6
star
32

tst-indent-line

Provides "indent line" feature for Tree Style Tab extension.
JavaScript
5
star
33

tabsonbottom

Applies "Tabs on Bottom" appearance for Firefox.
JavaScript
5
star
34

tst-lock-tree-collapsed

Add ability to lock specific tree as "collapsed".
JavaScript
5
star
35

treestyletab-sessionstore-migrate

Migrates Tree Style Tab's tree structure information embedded in sessionstore.jsonlz4.
JavaScript
5
star
36

linemarker

Line Marker, Adds a new menu "Line Marker" to the context menu. It changes color of selection.
JavaScript
5
star
37

bookmarks2pane

2 Pane Bookmarks, shows the Bookmarks sidebar panel with 2 pane style like 0pera.
JavaScript
5
star
38

rubysupport

XHTML Ruby Support, Adds XHTML Ruby support. Ruby texts will be rendered above the base texts, as a small text.
JavaScript
5
star
39

system-admin-girl-handson

See also https://system-admin-girl.doorkeeper.jp/events/22836
Shell
4
star
40

tst-tab-drag-handle

Provides UI to start tab dragging for different purposes.
JavaScript
4
star
41

rulerbar

Ruler Bar, Shows a ruler in the mail composition window of Thunderbird.
JavaScript
4
star
42

tiny-esm-test-runner

Small test runner for ESModules style modules on Node.js
JavaScript
4
star
43

informationaltab

Informational Tab, Provides thumbnail, progress meter, or others to each tab.
JavaScript
4
star
44

webextensions-lib-options

Provides ability to build options page.
JavaScript
4
star
45

ezsidebar

Ez Sidebar, Allows to take web pages into sidebar panels, and provides undockable Sidebar.
JavaScript
4
star
46

openbookmarkintab

Open Bookmarks in New Tab, Always opens new tab from bookmarks.
JavaScript
4
star
47

policymanager

Policy Manager, Provides a dialog to customize policy settings.
JavaScript
4
star
48

tst-open-bookmarks-as-partial-tree

Provides ability to open only some bookmarks in a folder as a partial tree on Tree Style Tab.
JavaScript
4
star
49

urnsupport

URN Support, Adds URN support to the browser.
Perl
4
star
50

unifiedsidebar

Unified Sidebar, Unifies the sidebar and vertical tab bar.
JavaScript
4
star
51

takahashi-method-xul

A minimal presentation software written in XUL.
JavaScript
3
star
52

tst-active-tab-on-scrollbar

Provides a marker to indicate active tab position in Tree Style Tab sidebar.
JavaScript
3
star
53

reloadprogressively

Reload Tabs Progressively, Limits number of reloaded tabs in a time.
JavaScript
3
star
54

fxaddonlibs

Libraries to develop Firefox/Thunderbird addons
JavaScript
3
star
55

tst-auto-group-tabs

Provides ability to group newly opened tabs automatically in various conditions with Tree Style Tab.
JavaScript
3
star
56

vscode-theme-kokuban

Color scheme like a kokuban (chalkboard), for the Visual Studio Code.
2
star
57

tabextensions-smoothresize

Patch for Tabbrowser Extensions, to make resizing of the window smoothly.
JavaScript
2
star
58

consoleplus

Console Plus, adds some options to the Error Console. This project was obsolete, "console2" is recommended.
JavaScript
2
star
59

tabextensions-macosx

Compatibility patch for Tabbrowser Extensions: the default theme on Mac OS X
JavaScript
2
star
60

webmap

Web Map, a experimental UI to explorer the Web as a 2D map.
JavaScript
2
star
61

backtoowner

Backs to the owner tab, if there is no history to back.
JavaScript
2
star
62

stackstyletabs

Stack Style Tabs, Hide the tab bar and show it automatically only when you press "Ctrl" or "Command" key.
JavaScript
2
star
63

textshadow

Text Shadow, Provides text-shadow support for old Firefox.
JavaScript
2
star
64

webextensions-lib-rich-confirm

Common confirmation dialog library for Firefox addons based on WebExtensions
JavaScript
2
star
65

webextensions-lib-tab-favicon-helper

Helps to show favicon image from tabs.Tab
JavaScript
2
star
66

sidebar

Sidebar Window, makes the Sidebar undockable (shows as an independend window). And, panels become editable easily by drag and drop. This project was migrated to a new project "Ez Sidebar" ( http://github.com/piroor/ezsidebar ).
JavaScript
2
star
67

tabcatalog

Tab Catalog, Shows thumbnail-style catalog of tabs.
JavaScript
2
star
68

presentation-vanilla-js-library-topics

A presentation for https://nextbeat.connpass.com/event/312789/
Ruby
1
star
69

tst-auto-sticky-tabs

Provides ability to stick some state tabs to tab bar edges automatically, for Tree Style Tab.
JavaScript
1
star
70

tst-active-tab-in-collapsed-tree

Provides UI to show last active tab in a collapsed tree.
JavaScript
1
star
71

bfthumbnail

Back/Forward Thumbnail, Provides thumbnail for tooltips on "Back" and "Forward" buttons.
JavaScript
1
star
72

foxkeh-svg-wallpaper-tool

JavaScript
1
star
73

tabextensions-tbx

Patch for Tabbrowser Extensions, to extend toolbars.
JavaScript
1
star
74

tabextensions

Tabbrowser Extensions for Firefox 1.5 or older versions.
JavaScript
1
star
75

tabextensions-contextmenu

The context menu module for Tabbrowsr Extensions.
JavaScript
1
star
76

tabextensions-focusprevselected

Tab focus control module for Tabbrowser Extensions.
JavaScript
1
star
77

undotab

Undo Tab Operations, Provides ability to undo any operations about tabs.
JavaScript
1
star
78

fxaddonlib-inherit

An alternative of "__proto__"
JavaScript
1
star
79

tabextensions-linkification

Compatibility patch for Tabbrowser Extensions with Linkification.
JavaScript
1
star
80

remove-duplicated-linebreaks-from-textarea

A Firefox addon to remove duplicated linebreaks from text area.
JavaScript
1
star
81

webextensions-lib-event-listener-manager

Simple event listener manager for modules in WebExtensions-based addons
JavaScript
1
star
82

gsuggest

A forked version of GSuggest.
JavaScript
1
star
83

auto-mark-as-stale-issues

GitHub action to set "stale" automatically for issues not responded too long term
Ruby
1
star
84

tabextensions-plastikfox

Compatibility patch for Tabbrowser Extensions: Plastikfox theme
JavaScript
1
star
85

tabextensions3

meta package for tabextensions 3, includes treestyletab, informationaltab, multipletab and viewsourceintab.
Shell
1
star
86

open-local-file

Provides ability to open local file.
JavaScript
1
star
87

fxaddonlib-prefs

Utility to operater preferences database for Firefox/Thunderbird addons
JavaScript
1
star
88

tabextensions-unread

Patch for Tabbrowser Extensions, to highlight unread tabs.
JavaScript
1
star
89

tabextensions-ctrlnum

Ctrl-[0-9] module for Tabbrowser Extensions.
JavaScript
1
star
90

historycounter

How Many Times Can I Back?, Couts up the number of histories in Back and Frward buttons.
JavaScript
1
star
91

mccoyplus

Provides command line operations for McCoy.
JavaScript
1
star
92

webextensions-lib-tab-id-fixer

Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1398272
JavaScript
1
star
93

rewindforward

Rewind/Fastforward Buttons, Adds "Rewind" and "Fastforward" buttons for the toolbar.
JavaScript
1
star
94

searchcache

A forked version of Searchcache.
JavaScript
1
star
95

observeclipboard

Clipboard Observer, Opens new tab or window automatically when you copy URLs into the clipboard.
JavaScript
1
star
96

promise-jsdeferred

JSDeferred Promise.jsm, or, Promise.jsm based JSDeferred. The original version of JSDeferred is: http://github.com/cho45/jsdeferred
JavaScript
1
star
97

contentholder

Content Holder, provides the "Content Holder", a browser pane to show another page simultaneously, for Mozilla and NS7.1. This project was migrated to new project "Fox Splitter" ( http://github.com/piroor/foxsplitter )
JavaScript
1
star
98

scrollbar-like-scroller

Provides scrollbar like behavior on the right edge of the viewport for Firefox on Android.
JavaScript
1
star