Skip to content
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
MultiRowTab-scrollable-autohide-spacing.uc.js Fixed some issues when moving tabs to another window Sep 7, 2019
MultiRowTab-scrollable-autohide.uc.js Fixed some issue with dragging tabs to another window getting fused Sep 6, 2019
MultiRowTab-scrollable-spacing.uc.js Fixed some issues when moving tabs to another window Sep 7, 2019
MultiRowTab-scrollable.uc.js Fixed some issue with dragging tabs to another window getting fused Sep 6, 2019
MultiRowTabLiteforFx-spacing.uc.js Fixed some issues when moving tabs to another window Sep 7, 2019
MultiRowTabLiteforFx.uc.js Fixed some issue with dragging tabs to another window getting fused Sep 6, 2019
Readme.md
userChrome.css Rename userchrome.css to userChrome.css Sep 4, 2019
userChrome.xml FF69+ compatibility fix Sep 3, 2019

Readme.md

Multi-row tabs

You can have multi-row tabs using any of these javascript files.

There are 2 versions, one that creates infinite rows of bars as you keep opening tabs, and another that shows a max number of rows that you can specify before showing a scrollbar to show the rest of rows.

You need to place userChrome.xml (If you already have one from this repository, you don't need to change it) on your chrome folder along with any of these files for them to work, along with it's binding rule on userChrome.css, which is already added in any of the userChrome versions of this repository.

For just the userChrome.css with the binding (and no other code), use the one inside this folder, unless you want to add it to your own custom userChrome, in which case you have to copy this rule inside it:

/* This enables the use of JS external files */
hbox#fullscr-toggler {
    -moz-binding: url("userChrome.xml#js")}

To avoid problems using multiple files with the tabs below fixes, I split the tabs below tweak into a standalone file. If you want to have tabs below the url bar, use the files inside the tabs below folder.

MultiRowTabLiteforFx.uc.js

Works with Firefox 69+. Shows all tabs you currently have open splitting them on rows, without any limit to the amount of rows to show. Choose this option if you want to always see all the tabs you have open without limits to the number of rows. When dragging tabs around, an arrow will show where the dragged tab will be placed.

MultiRowTab-scrollable.uc.js

Works with Firefox 69+. Shows all tabs you currently have open splitting them on rows up to a max of 3 rows by default (can be changed using the variable inside the file). After the max number of rows has been reached, a scrollbar will be shown to be able to scroll around the extra tabs. When dragging tabs around, an arrow will show where the dragged tab will be placed.

MultiRowTab-scrollable-autohide.uc.js

Works with Firefox 69+. This version is the same as scrollable multirow, except the scrollbars are only shown when you hover over the tabs area. It fixes some very specific issue when loading a session restore and loading a long page with a lot of content, which sometimes would make some webarea scrollbars get "stuck".

MultiRowTab-*-spacing.uc.js

Works with Firefox 69+. The spacing versions do the same as the others, except they try to imitate firefox default tab moving animation. This version is more resource-heavy while you are moving tabs, which shouldn't be much of an issue if you don't usually hold tabs in the air for minutes, but if you have a low-end computer, or are worried about resource usage or performance, you should consider using any of the other non-spacing versions instead.

There is also a small issue with tabs from the upper rows forcing a space in the rows directly below it when dragging the tab to the upper rows.

Tab sizing

The size of tabs in the last row is by default resizable, (like in the pictures above, which is the default Firefox behaviour) which will make them shrink as more tabs are fit inside the row. If you want to make all the tabs have a fixed width (so that tabs in the last row won't resize depending on how many tabs are open in that row), you will have to edit the file and change the variable --tab-growth to 0 (which will use the value of browser.tabs.tabMinWidth in about:config as their fixed width).

It's also possible to keep tab resizability but change the min-width of tabs through browser.tabs.tabMinWidth as well.

As for tab max size, it can't be changed without causing issues with tab session managers (The issue made tab session managers to save the last 3 closed tabs when they were not suposed to), which is the reason why there isn't an option to change this inside here anymore.

You can’t perform that action at this time.