
Tree Style Tabs Extension Ported to Firefox 57 - kibwen
https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/
======
jitl
This is awesome; Tree Tabs is one of my two essential extensions, the other
being Vimperator.

I'm sticking with the Firefox ESR that supports Vimperator until Vimperator is
ported (or re-written) for WebExtensions. Unfortunately, Vimperator is
struggling to find contributors to help with the migration.

The other vim-themed extensions out there like Vimuim on Chrome or Saka Key
just don't come close :(

[edit: added Saka Key]

~~~
kibwen
Not a Vimperator user (though vim is my primary editor) so I can't say for
certain how well any of these stack up, but in the other thread people were
suggesting Saka Key as an alternative:
[https://news.ycombinator.com/item?id=15340154](https://news.ycombinator.com/item?id=15340154)

~~~
jitl
I looked over the docs -- seems very similar to Vimium, and doesn't come close
to Vimperator.

My one feature that I prefer in Vimperator is how it handles link-clicking.

To click a link in Vimperator, you type `f`, then start typing the text of the
link you want to follow. Once your search only matches a single link, the
Vimperator clicks that link or button for you. You can also type a number,
which selects that match.

In Vimium, Saka Key, etc, you type `f`, and then type a short, unique code,
which is assigned to each clickable element in order.

So, for a page like Hacker News, to follow the third "comments" link in
Vimperator, I type `fcommen3`. In Vimium, I type `f`, then squint my eyes and
parse the labels it applies, and them maybe type `sw` or something random.

~~~
dictum
> To click a link in Vimperator, you type `f`, then start typing the text of
> the link you want to follow. Once your search only matches a single link,
> the Vimperator clicks that link or button for you. You can also type a
> number, which selects that match.

You can do that with Vimium too. The setting is called "Use the link's name
and numbers for link-hint filtering".

IIRC "Require Enter when filtering hints" is selected by default when you
enable the previous setting, so the link is only highlighted and you have to
press enter to open it.

~~~
jitl
> Use the link's name and numbers for link-hint filtering

Well, that's what I get for trying something once and never looking again...

Thanks for the tip!

------
Renaud
Nice for Tree Style Tabs, which I find essential.

However, I'm worried about some other big extensions that have really been
useful not being able to be ported to WebExtensions, like DownThem'All, the
developer is pretty pissed at Mozilla[1] and offers some insights about the
design decisions made by Mozilla that could have a big impact on the ability
of some AddOns to tap into the APIs they need to do anything useful.

[1]:[http://www.downthemall.net/re-downthemall-and-
webextensions-...](http://www.downthemall.net/re-downthemall-and-
webextensions-or-why-why-i-am-done-with-mozilla/)

~~~
rjzzleep
You might find the actual discussion quite interesting it's linked here [1]

[1]: [https://mail.mozilla.org/pipermail/dev-
addons/2016-December/...](https://mail.mozilla.org/pipermail/dev-
addons/2016-December/002367.html)

~~~
ronjouch
And as for a DownThemAll fallback whose feature subset may be enough for you,
consider Download Star: [https://addons.mozilla.org/en-
US/firefox/addon/download-star...](https://addons.mozilla.org/en-
US/firefox/addon/download-star/)

~~~
bhrgunatha
It's not just about being able to select what to download, that's a minimal
part of what makes DTA so useful.

Does it allow you to manage your downloads though - like supporting multi-
source downloads, pausing and re-starting, exporting/ importing lists,
prioritise, re-order, limit speed, integrating with the save dialog and menus
...

DownThemAll is the one extension that might force me to abandon firefox or to
stick with an ESR release and not upgrade.

~~~
ronjouch
Thus, my phrasing "feature _subset_ _may_ be enough" :) . I used to use DTA
for this subset and am happy about Download Star, but it's totally
understandable you relied on more.

As for "not upgrade": do stay on ESR for as long as possible and hope more
fully-formed alternatives for your favorite addons eventually arrive. But
really, don't disable upgrades altogether and risk being pwned due to running
an unpatched, insecure browser.

------
kibwen
Found in a comment in today's Quantum thread: _" It still can't hide the tab
bar (API will come in later releases) but it works!"_;
_"[https://bugzil.la/1332447](https://bugzil.la/1332447) is the bug for adding
a WebExtensions API for hiding the tab bar."_

~~~
Ar-Curunir
This can be done via userChrome.css. Just add this:

#tabbrowser-tabs { visibility: collapse !important; }

~~~
wakkaflokka
Novice question... where do I find userChrome.css on Windows?

~~~
yamaneko
A bit late to the party, but posting for reference in case someone finds this
post in the future. For Ubuntu, I did as the following:

1\. Created the chrome folder at `~/.mozilla/<your-profile-id>.default/`

2\. Created `~/.mozilla/<your-profile-id>.default/chrome/userChrome.css` and
added

    
    
        @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); 
    

at the top of the file.

3\. Added customizations after this line. The resulting file will be like:

    
    
        @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); 
        /*
         * TreeStyleTabs solutions to remove tabs
         *
         * Solution by: https://news.ycombinator.com/item?id=15343940 */
        #TabsToolbar, #sidebar-header {
          visibility: collapse !important;
        }
    
        #TabsToolbar {
          margin-bottom: -21px !important;
        }

------
pasbesoin
It seems a lot of very significant extensions, important to large user bases,
are going to have trouble making it to 57.

What if Firefox developers were to take a break -- meaning, temporarily slow
down -- from the browser development itself, once 57 is stable -- and put some
time into helping to port some of those extensions? (At least, where code and
license allow.)

I think a lot of Firefox users would appreciate this, and it would help
preserve a principal feature set (via those extensions) that has caused many
people to choose Firefox and to stick with it, up to this point.

In other words, Mozilla, please don't kill our extensions. How about helping
them make the transition? (Also a good opportunity to learn where the new API
may need more work/expansion)

Thanks!

P.S. Yes, I've been pissed about this change, for precisely this reason.
Reading in this conversation how Mozilla is working to expand the new API, I'm
given a bit of hope. And thus, this idea I'm suggesting.

P.P.S. Yeah, this may be an unreasonable and ugly ask. Wading into a bunch of
other people's code of varying quality. (Sorry.) Nonetheless... the extensions
have been a crucial part of Firefox's advantage, for many.

~~~
staktrace
Part of the problem is that APIs that are good for extensions are by
definition bad for performance (because they allow the extension to hook into
important places and do a lot of things). So there is an inherent tradeoff
between extension functionality and browser performance. It's easy to ask for
powerful extension APIs because the ask is free. Would you still ask for it if
you had to sacrifice performance? (The answer writ large, as evidenced by
hordes of Chrome users, is no).

~~~
int_19h
Sure. Why would I want two browsers that make identical compromises? It makes
choice meaningless.

~~~
staktrace
There are more tradeoffs involved in building a browser than just "powerful
extensions vs browser performance". So you have a false assumption built into
your question, that the two browsers in question are making identical
compromises across all facets of things when that is in fact not the case.

And there are more than two browsers - if you do want a browser that still
supports powerful extensions at the cost of browser performance, I hear Pale
Moon is a good option (I haven't used it myself, so can't comment).

------
ropeladder
This is great news. I'm still worried about what will happen to my large
Scrapbook[1] archive, though. Most of the useful things about that plugin
(saving, browsing, and loading files on the local disk) are not available in
the new APIs I think.

[1] [https://addons.mozilla.org/en-
US/firefox/addon/scrapbook/](https://addons.mozilla.org/en-
US/firefox/addon/scrapbook/)

~~~
dotancohen
I actually abandoned Scrapbook years ago for fear of the format not being
portable. In truth, now I've got data all scattered around but at least I'm
not in this position. You might want to look at Zim which is more of a
"personal wiki" but at least fits _my_ workflow for Scrapbook with a bit more
copy-paste. I hope that it fits yours as well.

------
pkamb
Is it the vertical display that people like about Tree Style Tabs, or the
inheritance/nesting?

I've always wondered why spawned child tabs don't retain the `Back` history to
go back to the web page that created them. Would be so useful; do any
extensions exist?

~~~
randkyp
For me, it's both. Nesting is helpful as a visual history indicator and a
quick way to prune unused tabs that were opened closely in time. Great when
you're doing a quick research. The vertical display helps locating tabs by its
title and in general, narrower text on a page is easier to read. (Most screens
nowadays are widescreen. Some blogs even overcompensate for this by having
huge margins and even huge ads on the sidebar, but that's another story.)

------
mirekrusin
This FF57 looks good - like a revolution about to come. I've made a switch in
few minutes and... oh boy, you feel the difference.

------
unicornporn
Holy hell, finally FF57 isn't looking quite as frightening. New TST even
supports tab containers. I really hope Mozilla fixes the inability to hide the
horizontal tab bar (without userChrome hacking) though…

~~~
Manishearth
It's in the works, just not there yet. At a rough glance I'd expect it in 58,
but I can't be sure of that.

------
jwarren
Sea Containers is not exactly the same thing, but some may find it more
useful: [https://addons.mozilla.org/en-US/firefox/addon/sea-
container...](https://addons.mozilla.org/en-US/firefox/addon/sea-containers)

It takes advantage of the (relatively) new Containers feature in Firefox.

------
hawski
Does anyone know if Tab Groups (or something like it) will be ported to 57?

~~~
jonalmeida
The developer had put out a note saying that Tab Groups won't be suppressed by
WebExtensions, and the work in order to do a partial port isn't worth their
time.

~~~
nyordanov
The developer of this alternative - [https://github.com/denschub/firefox-
tabgroups](https://github.com/denschub/firefox-tabgroups) \- has said that
they will port the add-on to a WebExtension, but they are waiting on this bug:
[https://bugzilla.mozilla.org/show_bug.cgi?id=1384515](https://bugzilla.mozilla.org/show_bug.cgi?id=1384515)

------
weaksauce
That's good. This one was the one that most people were complaining about not
being possible in webext. Glad to show people that the Firefox team has good
intentions.

~~~
Manishearth
A lot of the confusion around webextensions is that while 57 may not support a
lot of important use cases, the door is always open for new webext APIs, which
is what's been happening so far, and will continue to happen, making more and
more such extensions possible again.

------
Eridrus
Does anyone know what Firefox had to do to support this in WebExtensions? Is
it at all generic, or is it super specific to the Tree Style Tabs extension?

~~~
aswan
I haven't looked closely at the extension but I think the two big building
blocks are sidebars [1] and the tabs API [2], both of which have many
applications outside of tree style tabs. The "hide the tabstrip" bug mentioned
in other comments here is more narrowly focused than those two but it hasn't
landed yet...

[1] [https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/us...](https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/user_interface/Sidebars) [2]
[https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/AP...](https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/API/tabs)

------
baby
Essential part of My daily browsing. Still surprised it is still an addon and
not default in browsers.

------
SAI_Peregrinus
Best news all day! This is one of the most essential extensions that wasn't
going to work before.

------
alkonaut
Feels like I'm missing some background here - what happened between 56 and 57
that made it necessary to port extensions? Some revolutionary architectural
change?

~~~
pornel
Yes, they've migrated to a new multiprocess architecture and the extra
isolation requires new approach to integrating extensions. Previous extension
API assumed UI, pages and everything else lived in the same process.

~~~
kasabali
multiprocess was a different event and it happened well before Firefox 56
breakage.

~~~
pornel
It wasn't enabled for users who had any old extensions installed.

~~~
noisem4ker
"Legacy" addons could be made compatible with the newer multiprocess design.
See: [https://developer.mozilla.org/en-US/Add-
ons/Working_with_mul...](https://developer.mozilla.org/en-US/Add-
ons/Working_with_multiprocess_Firefox$revision/993443)

Many developers went through the effort only to see support for their addons
scrapped altogether a couple months later. Fortunately, that was quick enough
for Mozilla to sweep under the "legacy extensions are unfixable and
unmaintainable" rug.

------
twobyfour
That this could be done at all is a good sign for Firefox's future. I do wish
they'd retained the ability to customize the UI on the navigation bar, but am
now hopeful that more of the extensions that would have made me reluctant to
upgrade will be ported.

------
lanius
Wow, I wish I knew about this extension before. Too bad Chrome doesn't have
this.

~~~
baby
That’s why I could never use chrome. Tabs on the side is just more logical.

------
SeriousM
Does it sync?

------
petval
Good. I hope Tab Mix Plus will be upgraded too.

~~~
ConfucianNardin
Sadly, not much seems to be happening on that front:

[https://bugzilla.mozilla.org/show_bug.cgi?id=1226546](https://bugzilla.mozilla.org/show_bug.cgi?id=1226546)

At the very least I'd want something to override ctrl+tab tab switching order
(by most recently used instead of tab order in tab bar), and a popup showing
the tabs in that order.

Edit: Apparently the about:config setting browser.ctrlTab.previews gives you
MRU and a popup. Unfortunately it shows large thumbnails of the tabs instead
of just a list of the titles.

------
eradicatethots
When will they drop backspace = go back? Chrome was right

~~~
weaksauce
[http://kb.mozillazine.org/Browser.backspace_action](http://kb.mozillazine.org/Browser.backspace_action)

