Tree Style Tabs Extension Ported to Firefox 57
addons.mozilla.org
addons.mozilla.org
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]
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.
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.
Well, that's what I get for trying something once and never looking again...
Thanks for the tip!
Supposedly there was a chat today discussing keyboard extension apis [1]
Theres also an open issue on hiding the tabstrip [2]
But I somewhat doubt that the real strength, which imho is the scriptability will come back.
For those that don't know you can do a lot more with vimperator/pentadactyl than just use vim navigation. It allows you to script the entire ui in js. It also lets you bind commands and keys to bookmarklets and add mode keys to e.g. move forward in backward in slides on slideshare. On top of that it has a configurable commandbar which allows you to use fuzzy logic with history/bookmarks/awesomebar stuff(more importantly you can choose which things it should search)
If vimium is the usual "vi mode is not vim" then vimperator is the closest to vim you get in the browser.
another issue with palemoon and the webextension stuff is that i'm wondering how long the xul part of the plugins is going to keep being updated. I have a feeling that plugins that may need frequent updates will just rot away.
Why? Just curious.
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-...
[1]: https://mail.mozilla.org/pipermail/dev-addons/2016-December/...
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.
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.
#tabbrowser-tabs { visibility: collapse !important; }
Also, the large, bright sidebar header can be hidden with the #sidebar-header selector.
Combining those, we have:
#TabsToolbar, #sidebar-header { visibility: collapse !important; } #TabsToolbar, #sidebar-header {
visibility: collapse !important;
}
#TabsToolbar {
margin-bottom: -21px !important;
}
Then go to the hamburger menu > Customization and check "Title Bar" at the bottom left. Then it pretty much looks like FF 56.I've also changed the style of TSTs in the add-on settings (all the way at the bottom; not in userChrome.css) such that the tabs don't take up as much vertical space and to hide the close box button (and only show it on the mouse-over event):
.closebox {
display: none
}
.tab:hover .closebox {
display: block;
}
.tab {
padding-top: 0px;
padding-bottom: 0px;
}
You can make `.tab` even tighter: .tab .icon {
padding-top: 2px; /* reducing it by 2px */
padding-bottom: 2px;
}
:root {
--tab-height: 22px; /* reducing it by 4px */
}https://support.mozilla.org/en-US/kb/profiles-where-firefox-... has directions for finding where the profile lives.
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;
}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.
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).
The other problem is many of these extenstions have been in development for years, and have huge complex code bases that can not just simply be ported to Web Extensions, Dev's work on these for free in the spare time so they can not simply quit their day jobs and devote 100% of their times to solve a Problem Mozilla created for their own selfish reasons against the wishes of the User base to appease users that abandoned FF years ago
Basically Mozilla is tell the current users of FireFox that we are no longer welcome, to get fucked, and begging Chrome users to come back
[1] https://addons.mozilla.org/en-US/firefox/addon/scrapbook/
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?
Most folks who use Tree Style Tabs use the tree extensively.
I generally try to keep nesting to one level, sometimes two.
Doesn’t work with 57, sadly.
Anecdotally, to me being able to see the whole title and in a vertical list is just enough to like it, it makes it so much easier to find something among a shitload of tabs. Also, I feel it's a much better use of space in widescreen displays.
The tree part of it is less important, but also very useful to visually group related tabs.
Task-managing feels wrong to me in most (all?) OSes I've tried. A browser window with 100 tabs, relating to different research topics and ideas, feels wrong.
For that, I'd rather use one window per topic, and have the tabs in there be related, and that's what I tend to do. It's not always comfortable, and having several big/fullscreen windows from the same app in MacOS is a PITA. Also, you don't always know how much a task is gowing to grow and branch out...
I'm always curious to know how other people deal with this and how they feel about it.
It takes advantage of the (relatively) new Containers feature in Firefox.
https://github.com/denschub/firefox-tabgroups https://github.com/kesselborn/conex
[1] https://developer.mozilla.org/en-US/Add-ons/WebExtensions/us... [2] https://developer.mozilla.org/en-US/Add-ons/WebExtensions/AP...
The tabs API was missing some stuff too. There was a Tree Tabs webext that due to the lack of some tabs api stuff was unable to have full functionality without doing lots of disk I/O in the use case of a large number of tabs, but I think that functionality was since added.
Only missing thing is the ability to hide the tab strip, now (AIUI)
Sort of. The WebExtensions API aims to be a superset of Chrome's extension API. WebExtensions aren't and won't be limited to Chrome's feature set and Mozilla is in the process of rapidly expanding their capabilities.
As opposed to the previous Firefox Add-ons API, which essentially exposed a ton of unstable internal surface area to dynamically-loaded third-party code, WebExtensions provide a stable, explicit interface that Mozilla can support without breaking things between releases or due to architectural changes like e10s/multi-process.
The kinds of improvements Mozilla wants to make in Firefox going forward would end up breaking tons of extensions anyway, over and over again with each significant change. This way, there only needs to be one migration to the stable WebExtensions API.
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.
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.
It's not a one size fits all problem.