Andy Stanish

July 5, 2026

A Full-Page Overview for Every Firefox Window

I keep too many Firefox windows open — one per thing I'm in the middle of, each stuffed with tab groups I set up and then forgot. Firefox shows you one window's tabs at a time, but it has no single view where every window, group, and tab sits side by side so you can actually reorganize the pile. So I built one: a toolbar button toggles a single overview tab — an "exploded" layout of the whole browser — and re-toggling focuses that tab instead of piling up copies. The code's on GitHub.

What it does

Each panel is one window; tab groups show up as colored sub-sections, and every tab is a favicon–title–host tile. From here, without digging through right-click menus, you can:

Every window at once. The masthead counts windows · groups · tabs; the focused window gets the glow. Click to enlarge.
One panel up close: group keylines in each group's own color, the active tab keylined in accent, a discarded (unloaded) tab dimmed with an italic host.

Dressed in Art Deco, keyed to Firefox's mascot

Confession: I'm a sucker for cute. So when Mozilla's new Firefox mascot Kit turned up and I watched a bunch of people on Hacker News grumble that Mozilla shouldn't be "wasting their time" on a mascot, it stuck with me. Anything that makes somebody's day a little brighter is worth doing — full stop — and if your first instinct is to tell people they're wasting their time doing that, then I certainly don't have time to waste on you. I bought a Kit T-shirt.

The little fox is adorable, so I keyed this whole overview to this theme a fellow fan made.

The Kit Mascot Firefox theme applied to the browser toolbar: deep aubergine chrome, vivid orange accents, a lavender tab strip, and the little fox mascot at the right.
The source palette — the Kit Mascot theme by Afterglow, which the overview's colors are keyed to.

The other half of it: I'm so sick of flat, Material-Design-looking everything. I want beautiful, complex things. Art Deco is one of my favorite styles on earth. I'm lucky enough to work in New York City, surrounded by some of the most classic Deco buildings ever built. Before I go on too much of a rant here: How Did the World Get So Ugly sums up the feeling better than I can.

So the look leans all the way into the ornament — an engraved trellis wall covering, a chevron frieze on the same rhythm, corner brackets on every panel, lozenge-chain rules, and Futura carrying the uppercase, letter-spaced Deco voice — over deep aubergine grounds, that vivid mascot orange on every accent, lavender text. Every color is a light-dark() pair, so the page follows your OS theme with no JavaScript at all — the shot below is the same overview in light mode. Retheming is CSS-only: the whole look lives in custom properties at the top of one stylesheet, so a fork reskins it without touching a line of logic.

The same overview in light mode — one light-dark() swap, no JS.

Is it a loud, divisive palette? Sure. I like bright colors and they suit the adorable little fox, so I don't much care — and if my color choices personally offend you, well, you suck, and I'm delighted to have made your day a touch worse.

I won't pretend this is truly beautiful — I'm not a designer, and it's about as close to what I love as I could get with a few prompts to Fable. But I'd take it over anything Apple or Google has shipped in a heartbeat.

How it's built

The data flows one way: read the browser, fold it into a pure model, render, and let drag-and-drop and the action buttons mutate the browser — whose own events kick off the next render. The model holds the only real logic, and because it's pure it's the only part that needs unit tests (Node's built-in runner, zero dependencies). There's no build step for day-to-day work; npm run package zips the installable .xpi when I want one.

It asks for exactly three permissions — tabs, tabGroups, sessions — and no host permissions whatsoever. No fetch, no XHR, nothing phoning home; the only things pulled off the network are the tab favicons, straight from each site. Tab groups do need Firefox 139+ for the tabGroups API — on anything older the overview still shows windows and tabs, with a notice that groups want the newer build.

Right now it lives unsigned in my Developer Edition, which is happy to run it; getting Mozilla to sign it so it sticks on release Firefox is the next thing on the list. This is living documentation, so the page grows as the add-on does. And, if you'd like to use it but would like to put your own spin on it, don't worry: there's a theming guide in the README.