Every scrollbar keeps all five controls, at every size

Fixkamo-internal
Shipped
September 5, 2026 at 7:54 PM UTC
Author
Kamo
Commit
3c387dc

The first cut dropped the four buttons on any bar shorter than 140px, on the argument that 96px of them leaves a 250px popover with a stub of track. That was the wrong trade. The buttons ARE the feature — a bar whose two ends are one press away is the whole reason this replaced seven hand-written ones — and dropping them on short panels gave the drag-to-the-top problem back in exactly the places it is most annoying. Short bars now shrink their buttons together instead, 24px down to a floor of 12px, so a 60px strip still has jump-to-start, both steps and jump-to-end in the same order as the terminal window. The glyph shrinks with its button, so a 12px control is not a 16px icon in a 12px box. `compact` is gone from ScrollbarMode; there is `full` and there is `hidden`, and hidden only means "this element is not overflowing". Confirmed in a browser rather than in jsdom, which does no layout and so cannot see a scrollbar at all: a probe page under `next dev`, screenshotted headless at 600px, 250px, 90px and horizontal. All four buttons in all four. That screenshot also showed the bar sitting on top of the text at the right edge, which is right for a panel and wrong for the page. The main content scroller in AuthedChrome now carries `kamo-scroll--gutter` and reserves its 32px: it is every screen in the product, and the native bar it replaces reserved its width too, so reserving keeps the content box the size the pages were laid out against.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing