Giter Site home page Giter Site logo

Comments (6)

numirias avatar numirias commented on May 25, 2024 1

ℹī¸ If you want more tabs per row, you can set Default tab width down to 0% and set Min. tab width to the lowest value you're comfortable with.

I don't think I can implement a max number of tab rows, because then the tab box would need to be scrollable and scroll automatically when you're switching to a tab whose label is currently in an invisible area. This would require Javascript, and the UI modifications are currently CSS-only and I really want to keep it that way.

What I might be able to do is introduce a feature that shrinks the tab height dynamically. But you may also consider a different workflow than having thousands of tabs open, e.g. with bookmarks and toolbars.

from paxmod.

numirias avatar numirias commented on May 25, 2024 1

@mjk-gh Thanks for your comment. The latest release implements a max number of tab rows. Feel free to open a new issue if it doesn't work for you.

from paxmod.

Delta2401 avatar Delta2401 commented on May 25, 2024

Not sure 2000 is manageable even when this addon was bugfree a month back. Do you use multiple windows? You might need to hide large clumps of those tabs on and off, via hide tab; but for that huge number, I would probably just use something like Session Boss; and have windows in each of your groups, and save that session window to load or modify whenever you want that chunk. These are just ideas I would be spitballing.

I think the most I ever had was a couple hundred over 4 windows. The last firefox update really broke the space limiter for each tab to hold whatever the size of the tab title was, so unless you want to us an extension like "tab mix - tab rename" on every single tab to shrink it; which for thousands, it might not be practical. But even if you had a logo on each tab and nothing else, 2000 would probably still fill a window a couple times over. Either way, most of us are awaiting a hopeful this addon can get fixed for tab sizes; but it seems you have more need than that.

from paxmod.

jtagcat avatar jtagcat commented on May 25, 2024

I'd not get stuck around 2k tabs. Even with ~50 tabs it gets messy for smaller screen laptops. I have already mentioned this issue in an another issue: even limiting to say 2-3 rows is sensible.

from paxmod.

mjk-gh avatar mjk-gh commented on May 25, 2024

If you're willing to forgo that auto-scroll-to-new-tab feature (which I currently do), then
it might be doable. From the Interwebbs, I got a few lines of CSS code that I used in
my (previously empty) chrome/userChrome.css up to Fx 75. With Fx 76, it didn't work
anymore, so I turned to Paxmod.

I distilled the code to the minimum necessary to have a scrollable tab area with
a limited number of tab rows: (the comments are from the original author)

/* Makes tabs to appear on multiple lines */
/* Tab reordering will not work and can't be made to work */
/* You can use multi-row_tabs_window_control_patch.css to move window controls to nav-bar*/
/* It's recommended to move tabs new-tab-button outside tabs toolbar */

/* Change the --multirow-n-rows to change maximum number of rows before the rows will start to scroll  */
/* This maximum visible rows won't work before Fx66 */
/* So this setting does nothing on Fx65 and all tab rows will be shown */
:root{
    --multirow-n-rows: 5;
}

/* Scrollbar can't be clicked but the rows can be scrolled with mouse wheel */
/* Uncomment the next line if you want to be able to use the scrollbar with mouse clicks */
/* .tabbrowser-arrowscrollbox{ -moz-window-dragging: no-drag } */
/* Uncommenting the above makes you unable to drag the window from empty space in the tab strip but normal draggable spaces will continue to work */

/* Selectors for Firefox 71+ */
/* These are not tabs toolbar specific but horizontal scrollbox isn't used elsewhere, except in bookmarks toolbar but there it doesn't have [part] attribute since it's not in shadow-root */
@-moz-document url(chrome://browser/content/browser.xhtml){
  .scrollbutton-up[orient="horizontal"][part]~spacer,
  .scrollbutton-up[orient="horizontal"][part],
  .scrollbutton-down[orient="horizontal"][part]{ display: none }

  scrollbox[part][orient="horizontal"]{
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    max-height: calc(var(--tab-min-height) * var(--multirow-n-rows));
    scrollbar-color: currentColor transparent;
    scrollbar-width: thin;
  }
}

It works like a charm with Paxmod!

The only problem: It only works if it's in the file chrome/userChrome.css.
If I put it into "Custom CSS code" or "Path to custom CSS file", it gets
ignored (other settings like tab-width, as present in the original CSS
file attached, are interpreted correctly). Meticulously tried out over
multiple restart-cycles of Firefox.

Maybe you can find out how to make Firefox honor this piece of CSS
as part of Paxmod ...

For completeness, the full version of the CSS file is attached, too.

Also: issue #60 seems to request the same feature, maybe these issues can
be merged somehow, if that makes sense.

multirow.css.txt

from paxmod.

mjk-gh avatar mjk-gh commented on May 25, 2024

@numirias Thanks for the fix!

The actual limitation to n rows seems to work, but without my userChrome.css[1]
snippet, you cannot scroll within the tab area using the scrollwheel. Ctrl-PgUp/Dn
and Alt-1..9 (or Ctrl-1..9) do work, and the scrollbar for the tab area is also showing,
but using the scrollwheel does not do anything.

I tried both Fx 76 and Fx 77 (Linux, amd64).

[1] (which still has to be in the profile folder and has no effect on tab
area scrollability when put in paxmod's "Custom CSS")

from paxmod.

Related Issues (20)

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.