Giter VIP home page Giter VIP logo

treestyletab's Introduction

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

  • Builds for each commit are available at "Artifacts" of the CI/CD action. Please note that you need to log in to the GitHub to see artifacts. And you'll need to unzip the downloaded file treestyletab-we.xpi.zip manually to extract the XPI package file treestyletab-we.xpi, otherwise you'll see an error about invalid manifest.
  • There is an automated build based on the latest source code also. It is available for everyone, but sometimes the automation system fails to update the build.

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

Extensions that extend TST

TST provides an API for other extensions. Some extend the behavior of TST's sidebar panel. See also the list of known helper addons.

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.

Basic project policy

  • TST is basically designed to be used as a permanently-shown tab management UI, an alternative of Firefox's native tab bar.
  • 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.
    • Here is the basic policy about decision to accept or reject feature 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 customizations with user stylesheets, 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 other extensions, TST don't provide options for them. (ex. coloring of tabs, suspending of tabs, detailed control of tab focus, and other features covered by existing helper extensions](https://github.com/piroor/treestyletab/wiki/Helper-addons-extending-functionality-of-TST))
      • If it couldn't be (or hard to be) done with any of existing methods listed above, it can become a new built-in, even if it looks not related to any of native tab features or tree management.
  • TST supports official latest releases of Firefox: both regular and ESR.
    • We keep codes compatibe with both these reelases. Features depending on new APIs not available on the latest ESR are disabled on ESR, but we may implement that. Changes incompatible to the latest ESR will be left pending until a new ESR is released.

Please remind that some existing features or options may violate this policy due to historical reasons.

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:

    • "Autoplay blocked" message and the "Play tab" button image (screenshot)
    • "Share" tab context menu command
    • "Send Tab to Device" tab context menu command. (TST currently simulates it but you cannot send tabs to mobile devices.)

    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.

    Please see also the basic project policy

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

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

  • How to open new "group (folder) tab" intentionally?

    A helper addon TST More Tree Commands provides a context menu command to create a new "group" from multiselected tabs.

    If you hope to open a new "group (folder) tab" individually, preparing bookmark items to do that may become a solution, because a "group tab" is actually just an internal page with special URL. Such a "group tab" is actually implemented as a local page with internal URL of TST itself. Because of such internal pages have unique host part for each installation due to security reasons, TST provides special URI ext+treestyletab:group as a stable alias across installations. For example:

    Title URL What will happen
    New Group ext+treestyletab:group?title=New%20Group Creates a new permanent group tab (it won't be closed automatically by TST.)
    New Temporary Group ext+treestyletab:group?title=New%20Temporary%20Group&temporary=true Creates a new temporary group tab. It will be closed automatically by TST when there is no child.
    New Quite Temporary Group ext+treestyletab:group?title=New%20Temporary%20Group&temporaryAggressive=true Creates a new temporary group tab. It will be closed automatically by TST when there is only one child tab is left.

    There are some more URL options but they are quite internal and unstable. Instead it is recommended to create bookmarks from existing group tabs whici is opened with URL like moz-extension://xxxxx/resources/group-tab.html?..., after you configure it with their UI (checkboxes and title input field.) TST automatically detects creation of bookmarks with such internal URLs and updates the saved URL to an alias prefixed with ext+treestyletab:group?.

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サーバーに送信される場合があります。

treestyletab's People

Contributors

actionless avatar ariasuni avatar asamuzak avatar axlmun avatar bootleq avatar boredsomeone avatar dependabot[bot] avatar infocatcher avatar irvinm avatar jryans avatar klemens avatar lej77 avatar lv7777 avatar lycsjm avatar naveensrinivasan avatar nephyrin avatar nightsharp avatar niklasgollenstede avatar no1xsyzy avatar perdolka avatar piroor avatar sammyshp avatar skarmoutsosv avatar talklittle avatar tetsuharuohzeki avatar vovcacik avatar wanabe avatar wvxwxvw avatar xzn avatar yfdyh000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

treestyletab's Issues

Incorrect sidebar width after resizing and then switching windows

Using:

  • Tree Style Tab 0.11.2010120101
  • Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101130 Firefox/4.0b8pre

STR:

  1. Set tab sidebar position to "left side"
  2. Open a second firefox window.
  3. On the first firefox window, drag the tab sidebar to the right, to make it wider.
  4. Switch back to the second firefox window.
  5. Toggle the sidebar collapse/hide button to hide and then reshow the sidebar.

Expected:

  • Other window either shows updated sidebar size, after hiding and then reshowing, or else, retains existing size, but doesn't break visually and usably.

Actual:

TST less responsive after 0.11.2010120101

I'm sorry in advance for the vagueness of this bug report, but around/after ~0.11.2010120101 (where the new HTML5 drag and drop methods were implemented I think?), TST just doesn't feel as responsive any more, when opening and closing tabs (particularly closing) and also is very slow when resizing the sidebar. I use TST in left hand sidebar mode, skin=mixed, animations = off.

I'm using latest nightly - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20110106 Firefox/4.0b9pre ID:20110106030349 and the current latest TST 0.11.2010120903. Hardware acceleration in Firefox is off.

Can you think of anything that might be causing this?

Thanks!

Ed

Edit:

Related issue with responsiveness perhaps?
https://addons.mozilla.org/en-US/firefox/addon/5890/reviews/257509/

Latest Minefield, new tabs do not become children

Using the latest Minefield and TST 0.11.2010120903, opening new tabs from links does not properly make them childs of the current tab. Instead, they open as new root tabs at the end of the list (as Firefox does by default).

Bugs after latest update

Visually: I hate the gigantic "new tab" zone taking up the rest of the sidebar since I click there accidentally all the time. This only seems to happen when I have a persona enabled. It's not a huge problem, but I would like to be able to get get back the single "add new tab" button that just followed all of my trees while using my own style.

Bugs: Changing the visual style to plain or flat makes the sidebar flicker between the new-tab zone and a new-tab button at the bottom of the sidebar until I restart Firefox. (I'm currently using Mixed.)

The sidebar is placed too far up so that it pushes into the bookmark bar by 1-2 pixels.

Also, I can't seem to open up child tabs directly except by opening new links up from the parent tab - i.e. if I'm on a tab and right click to open a link, it opens as a child tab. If I'm on a child-tab and just hit Cmd+N it opens up an entirely new tree.

I'm on Firefox 3.6.13 running Tree Style Tab 0.11.2011011301 on Mac OS X 10.6.6. Thanks.

Restoring collapsed/hidden sidebar sometimes fails to work

Using latest nightly Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20110106 Firefox/4.0b9pre ID:20110106030349 (although has existed for a while) and TST 0.11.2010120903.

  1. With TST set to left hand sidebar mode.
  2. Collapse/hide sidebar using the "<-" button.
  3. Show sidebar again by clicking the "->" button

Expected:

  • Sidebar shows again, at the same width as before

Actual:

  • Sometimes the sidebar does not show, even after clicking the "unhide" button several times.
  • Instead you have to click and drag the sidebar back out to the same width as before.
  • I believe this occurs when you accidentally move the mouse slightly when clicking in step 3 above, since TST interprets this as a drag, and drags the sidebar to 1px width, so each time you then click the show/hide button you are toggling between 0px width and 1px width - so have lost the original sidebar width. If that makes sense!

Therefore, can it be that when the sidebar is hidden, you cannot drag resize the sidebar, and instead, any clicks are only interpreted as clicking the button to show the full width again.

Thanks!

Ed

Focus issue when restoring (undo close) tabs

When restoring a tab, if the restored tab is hidden (in a collapsed tree), the parent tab will get focus. I would expect the tree to be expanded and the restored tab to be focused.

Minefield, TST from git.

TST sidebar permanently hidden when in fullscreen mode

Using Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20110107 Firefox/4.0b9pre ID:20110107030356 and TST 0.11.2010120903 and sidebar in left mode.

  1. Press F11 for full-screen mode
  2. Try to use the TST sidebar

Expected:

  • Sidebar either permanently visible or else autohides, like the tab-bar does normally when in full-screen in Firefox 4.

Actual:

  • Tab sidebar hidden and rolling over the area with the mouse has no effect. Only way to change tabs is to use ctrl+TAB or switch out of full-screen.

Thanks!

Ed

FF 4.0 Beta 11 hangs while closing last tree

I have "Close whole tree when closing the root" option enabled.

When I close last tree by closing the root (and there are some children, too) FF hangs and I have to kill it using Task Manager.

Closing tabs from children to parent one by one works fine.

Incorrect sidebar width if bookmarks sidebar closed whilst tab is loading

Using:

  • Tree Style Tab 0.11.2010120301
  • Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101202 Firefox/4.0b8pre

STR:

  1. Set tab sidebar position to "left side"
  2. Open bookmarks sidebar using ctrl+B
  3. Middle mouse button click a bookmark to open in new tab
  4. Immediately close the bookmarks sidebar using ctrl+B (whilst tab still shows "connecting...").

Expected:

  • When bookmark sidebar is hidden, tree style tab sidebar should have it's on-screen position updated correctly.

Actual:

  • If step number 4 is performed whilst the tab still shows "connecting..." (ie: very soon after middle clicking), then the tree style tab sidebar displays incorrectly, similar to the graphical issues caused by this other (now fixed bug): https://github.com/piroor/treestyletab/issues#issue/2

Firefox 4.0b8

Latest version of Firefox (4.0b8) breaks Tree Style Tabs. Add-on page says that the latest supported version is 4.0b8pre.

Dragging text URL to TreeStyleTab somewhat broken in versions > 0.11.2010120101

E.g. if a web page contains the text 'www.google.com', in standard Firefox and also TST versions up to 0.11.2010120101 you could just mark this text and drag it to empty space in tab bar. This would then open the corresponding web page in a new tab.

Some changes introduced in TST versions > 0.11.2010120101 broke this feature. Dragging such text URLs in current versions only works if the text starts with http, like e.g. http:/www.google.com

Wrong accesskeys with undo close tab feature

Close tree of tabs.
Undo close tab.
Panel with "Do you want following N tab(s) to be restored along?" appears.
And buttons on this panel has accesskey="undefined" attribute.

Drag of URL to tab opens in that tab rather than as a child tab

I've been using this extensively for a couple of years - I have "open in a new child tab" checked under configuration New Tabs -> Drag & Drop to tabs. Until I installed an update today, this worked - type in the location bar, or drag and drop onto tab, and the URL opened as a new child tab.

Today, I updated to 0.11.2011011301, and now it always loads the URL in the same tab rather than a child tab. I tried loading several prior versions (I don't know how long ago it was that I last updated Tree Style Tabs) but they did the same thing. I then skipped back to the 0.10.2010040201 April 1, 2010 version. That one creates the child tab the way it used to.

This is on Firefox 3.6.13 on Ubuntu 2.6.32-27-generic-pae #49

All close button of innactive tab dissapear on 'New Tab' action

After update to newer version (0.11.2011011301), when a new tab created (by 'New Tab' button, 'open link in new tab', etc), the close tab buttons (red box with 'X' sign) from all invactive buttons will dissapear. Only active tab that has its close button.
This problem triggered by creating new tab, and fixed itself when a tab is closed.
I using firefox 3.6.13

Thanks.

The tab bar losts its width after restarting.

Steps to reproduce:

  1. Set up Minefield 4.0b9pre.
  2. Activate "auto hide tab bar" feature.
  3. Mouseover to the tab bar to expand it.
  4. Resize the tab bar.
  5. Restart Minefield.

Expected: the tab bar is shown with previous width.
Actual: the tab bar becomes too narrow.

delete me

Bug was accidentally closed by me ("comment and close" is right next to "comment"!) and apparently GitHub only lets collaborators reopen, so refiling.

Gmail new email notification (in page/tab title) doesn't update as often with TST active

Using latest nightly Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20110106 Firefox/4.0b9pre ID:20110106030349 (although has existed for a while) and TST 0.11.2010120903.

  1. Log into Gmail
  2. Read all messages
  3. Leave tab open (can either switch to another tab, or leave on the same tab)
  4. Watch gmail tab title whilst mail is received

Expected:

  • Same behaviour as before TST installed (ie: when new mail is received, within seconds, the tab title says "Priority Inbox (1) - ...". This happens regardless of whether the tab is being viewed (ie active) or not.

Actual:

  • The tab title does not update as often, meaning that most of the time, when I click back to the inbox, there is new mail visible, but the tab title doesn't reflect that. I have to manually click "Priority Inbox" inside gmail (or switch between mail folders) for the tab title to update.

Thanks!

Ed

FF 4.0b10 Released

Looks like the latest release only allows up to 4.0b10pre, and so is wanting to disable itself if I upgrade to 4.0b10

Rendering issue in 0.11.2011020402

Whenever there is any mouse event in the page, the sidebar redraws for a significant fraction of a second at full width (i.e. the width of the largest tab title, which can be as wide as the entire screen), which is enough to prevent any mouse events from working. This was not the case in versions from December/early Jan.

[Firefox 4] tab bar width decreases when RequestPolicy toolbar button pressed

Before: http://i51.tinypic.com/2cehikp.png

After: http://i56.tinypic.com/9up7va.png

When using Tree Style Tab 0.11.2011020402 on Firefox 4.0b12pre with RequestPolicy 0.5.18, if you add the RequestPolicy toolbar button to either the toolbar or the addons bar and press it, the tab bar width decreases. More accurately, the tab bar width seems to stay the same but the width of the tabs in the tab bar becomes very small while the rest of the space is just grey.

After the tab bar width has decreased, maximizing or unmaximizing the Firefox window fixes the tab bar to look and work properly again.

I'm the RequestPolicy developer. I'm tracking this issue here:

https://www.requestpolicy.com/dev/ticket/181

I don't believe this is a bug in RequestPolicy because I don't believe I'm doing anything in RequestPolicy that should affect the tab bar when the RequestPolicy menu is opened. I'm inclined to think Tree Style Tab will run into this issue with other extensions, as well, though I don't know of any where this happens.

treetabs doesn't initialize properly

When I start up firefox (4.0 beta 8 on Fedora 13, x86-64 dual processor),
the tabs show up properly on the left in one window (a vertical stack of horizontal tabs), but incorrectly in the other window. In the 2nd window they show up as a horizontal row of really skinny, tall tabs.
The workaround is to open Tools/Addons/Treetabs, temporarily change the tab position from the left to the top, then back to the left.
Treetab version 0.11.2011020301
I have screen captures if you're interested.

On Firefox startup, trees shown flat, until pages reload

Using:

  • Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b10pre) Gecko/20110119 Firefox/4.0b10pre ID:20110119030331
  • TST 0.11.2011011301
  1. With Firefox open/TST installed/sidebar set to left-hand sidebar, open say 20-30 tabs and arrange such that most/all are in a tree. eg: 5 top-level tabs, with one of them holding the remaining 20-25 tabs as children.
  2. Collapse the parent/top level tabs, so just the top level showing.
  3. Making sure Firefox set to save session/tabs on exit, close Firefox.
  4. Reopen Firefox (once a few seconds passed, to ensure previous process has closed properly) and watch sidebar as it loads/populates/settles down.

Expected :

  • When sidebar is shown, there are only the parent/top level tabs visible, and any with children have the twisty arrows and the parent tabs are still collapsed, so you can't see the children. At no point do the children tabs appear outside the parent.

Actual:

  • As the tabs refresh their content (with Firefox 4's new staggered tab load behaviour), they start as parent/top level tabs and only after they have loaded (you see the title update) do they get re-filed under their original parent tab (and thus are hidden from view, since that parent is collapsed).

Thanks!

Ed

close tab focus wrong

Tree Style Tab 0.11.2011021601
Tab Mix Plus 0.3.8.4

I have tab mix plus set for tab closing option, "when closing current tab focus left". This option no longer works correctly with Tree Style Tab. It used to work in previous versions

Example:
Tab1 (no child tabs)
Tab2 (no child tabs)(focused)
Tab3 (no child tabs)

If currently focused on tab2, then close tab2, focus should change to tab1. This does not happen and instead Tree Style Tab will focus on tab3

drag collapsed tree bug

Firefox 3.6.13
Tree Style Tab 0.11.2011012302

With vertical tab bar, if a tree is collapsed and user drags parent tab to new position a bug happens.

expected:
tree moves to new position while staying collapsed

what happens:
tree moves to new position, expands, and shows child tab count (usually only appears when collapsed) even though tree is expanded

Broken tree when rearrange tabs by Panorama

When there are four tabs like:

+ [tab1]
   + [tab2]
      + [tab3]
        + [tab4]
  1. Go to panorama, then there are four screenshots for [tab1]-[tab4].
  2. Drag [tab1] and drop after [tab4]. Then, there are [tab2], [tab3], [tab4] and [tab1].
  3. Exit from Panorama.

Expected:

+ [tab2]
   + [tab3]
     + [tab4]
+ [tab1]

Actual:

+ [tab1]
   + [tab2]
      + [tab3]
        + [tab4]

When I re-enter to Panorama, tabs are shown as [tab2], [tab3], [tab4] and [tab1]. They are not ordered by actual order of tabs.

No twisties --> Entire tab reacts like twisty

Using Minefield and TST 61df6c5,

when setting twisties to None, when clicking the tab, the entire tab acts like the twisty when clicked. Can the former behavior be restored? I'm using inverted tab contents, and am used to the favicon acting like a twisty.

Favicon is not displaed, it shows continous page loading

Win upgrade to FF4b9 and 10 I'm faced with the following strange behavior:
When I open a child page (e.g. navigating to the link on the [parent] site):

  1. FF creates child tab
  2. Shows status like connection (light circle)
  3. Than it changes icon to loading and loads the page
    Once page is loaded the favicon is not displayed, icon indicates that page is still being loaded.

It worked fine with FF4b5 and when add-on is disabled.

FF 4.0b9: App Tabs disappear

In FF 4.0b9 (Windows 32bit), App Tabs sometimes disappear when you close a tab. This happens for me under the following conditions:

  1. The Tab Bar is positioned on the left side.
  2. The skin of the Tab Bar is set to "Default (specified by the theme)".

If I set the skin of the Tab Bar to something else (for example, to "Mixed"), this is no longer a problem.

Opening and closing a Sidebar makes the App Tabs reappear. Restoring Down or Maximizing the Firefox window also makes the App Tabs reappear.

This was not a problem with FF 4.0b8. Maybe something has changed in the Default Theme to cause this behavior.

Tab bar has too high height on "Tabs on top"

Steps to reproduce:

  1. Move tab bar left. (important!)
  2. Move the tab bar top.
  3. Enable "tabs on top".

Actually, tabs.tabbrowser-tab has wrong height (it is the value for the vertical tab bar.)

Previewing personas by rolling-over with cursor, causes TST sidebar to mis-render

Using:

  • Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20101217 Firefox/4.0b9pre ID:20101217030324
  • Tree Style Tab v0.11.2010120903

STR:

  1. Set Tree Style tab to appear on the left

  2. Visit: https://addons.mozilla.org/en-us/firefox/addon/16356

  3. Roll over the gray and black rectangle in the middle using the mouse

Expected:

  • Persona previews normally

Actual:

  • Persona previews, but at the same time breaks the display of the sidebar of TreeStyleTab, even when the mouse is moved away from the personas rollover (to fix you have to resize the firefox window). See image: http://i52.tinypic.com/11l56ia.jpg

Drag of URL to tab opens in that tab rather than as a child tab

(copy of Issue 26 that I accidentally closed, since there seems to be no way to un-close an issue)

I've been using "drag URL to tab to open as a child tab" extensively for a couple of years - I have "open in a new child tab" checked under configuration New Tabs -> Drag & Drop to tabs. Until I installed the 0.11.2011011301 update, this worked - type in the location bar, or drag and drop onto tab, and the URL opened as a new child tab.

On 1/20, I updated to 0.11.2011011301, and now it always loads the URL in the same tab rather than a child tab. I tried loading several prior versions (I don't know how long ago it was that I last updated Tree Style Tabs) but they did the same thing. I then skipped back to the 0.10.2010040201 April 1, 2010 version. That one creates the child tab the way it used to.

This is on Firefox 3.6.13 on Ubuntu 2.6.32-27-generic-pae #49. I see the same issue on the Mac, Firefox 3.6.13 Darwin Kernel 9.8.0. (Unfortunately, I didn't have treestyletab installed on Windows, so I can't check that.)

piroor replied to Issue 26 that he couldn't reproduce this problem on windows; he was going to confirm on Ubuntu.

drag & drop of a parent tab to the bookmarks sidebar should (or shouldn't) handle only the parent tab not including children

On lately versions of TST, if you drag a parent of a tree to the bookmarks sidebar, then all of tabs in the tree are bookmarked instead of the parent one tab. In old versions, only the parent tab is bookmarked. People like the old behavior are confused by the new behavior. How to solve this problem?

  1. Add a new secret preference to disable the new behavior.
  2. Add a keyboard shortcut to disable the new behavior temporary.
  3. Others.

One point. Now, the drag image for a dragging on a parent tab contains thumbnails of all tabs in the tree. If a drop make only one bookmark even if there are multiple thumbnails, it seems "unexpected result" from the feedback image...

Auto open new window - options no longer available

In previous version I used to be able define the behaviour of a window that was opened automatically (from a website), not advertising - in this case it's an upload progress window.

The option is no longer available and thus all tiny upload windows startup in a new tab (which is really annoying).

Will this great feature be restored?

TST left hand sidebar appears too high up on Firefox start (overlaps toolbars)

Using latest nightly Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20110106 Firefox/4.0b9pre ID:20110106030349 (although has existed for a while) and TST 0.11.2010120903.

When Firefox is started the left hand sidebar appears too high for the first couple of seconds. The length of time seems to be longer if the session being restored contains more tabs. It then drops back down to it's normal position.

Screenshot just after startup:
http://i51.tinypic.com/jrpjip.jpg

Thanks!

Ed

Firefox 4 beta7で検索バーにキーワード入力後enterキー押下しても検索が実行されない

B.B.S/2790 "検索バーの挙動" - outsider reflex

Firefox 4.0b7にしたところ、標準の検索バーにキーワード入力後enterキー押下しても検索が実行されなくなりました。
虫眼鏡アイコンのクリックでは問題なく動作します。

Tree Style Tabとの関連性は判らないのですが、TSTを無効にすると正常に検索できますので、ご確認いただけると幸いです。

Tree Style Tab 0.10.2010102501

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.