Houdini brings Opera GX tab workspaces straight into Firefox's own sidebar. Pick a panel and every tab that doesn't belong disappears.
Houdini would approve π©
A panel is a named group of tabs. Only one panel is visible at a time: switch to it and let Houdini make its tabs appear and make every other tab disappear. Hidden tabs aren't closed β they keep their state and reappear the moment you switch back. Tag a tab once and it stays with its panel across restarts.
N.B.: Houdini uses no custom sidebar and no replacement tab strip. Just Firefox's native tab bar.
| Feature | What it gives you |
|---|---|
| Panels | Group tabs into named, icon-tagged panels. Switch to focus one; the rest hide. |
| Panel colors | Give a panel a color and the whole browser chrome (tab bar, toolbar, URL bar, sidebar, menus) tints to match while it's active. |
| Panel containers | Link a panel to a Firefox container; every tab opened in that panel β new or existing β lives in it. |
| Toolbar popup | Click a panel to switch; add, rename, recolor, reorder (drag) and remove inline. |
| Dark & light theme | Popup and settings follow your system theme, with a manual override. |
| Cross-panel search | Find a tab in any panel by title or URL; jump to it and Houdini switches panels for you. |
| Keyboard shortcuts | Cycle or jump to panels from the keyboard; remap keys in Settings. |
| Sub-panel tab grouping | Optionally drop tabs you open from a link into their opener's native Firefox tab group. |
| Automatic snapshots | Periodic backups of your panels + tab assignments, with one-click rollback. |
| Backup & restore | Export your panels + tab assignments to a file; re-import on another machine. |
| Sidebery import | Migrate your existing Sidebery panels and tab grouping. |
Open the toolbar popup to see every panel with its live tab count. Click a panel to switch β the active one is highlighted with its color. The β― button expands a panel inline to rename it, pick an icon or color, or remove it. Drag rows to reorder; + New panel adds one.
Link a panel to one of Firefox's own containers (Multi-Account Containers identities) from the toolbar popup: click the square swatch next to a panel's color to pick one. From then on:
- New tabs opened while that panel is active β Ctrl+T, a link, the address bar β open in its container.
- Existing tabs already tagged to that panel move into the container too, in one shot.
Unlinking a container (pick "None") moves the panel's tabs back to the default container the same way. Moving a tab between containers means closing and reopening it β Houdini keeps its position, pinned/hidden state and tab-group membership, and loads it lazily unless it's the tab on screen, so linking a container to a busy panel doesn't stall the browser.
The search bar at the top of the popup filters every open tab β across any panel β by title or URL. Each result shows which panel it belongs to. Click it and Houdini switches to that panel and focuses the tab.
Switch panels without touching the mouse. Defaults:
| Shortcut | Action |
|---|---|
| Alt+. | Next panel |
| Alt+, | Previous panel |
| Alt+P | Open the Houdini popup |
| unset | Jump straight to panel 1β8 |
Remap any of them β or assign the panel-jump keys β right from Settings β Keyboard shortcuts:
click Set, press your combo (needs Ctrl or Alt), done. No about:addons detour.
Off by default. When enabled (Settings β Tab grouping), any tab you open from another β a link in a new tab, "open in new tab" β joins its opener's native Firefox tab group. If the opener isn't grouped yet, Houdini starts a group from the pair. Grouping is one level deep: a sub-tab simply adopts its opener's group, so a whole chain of links lands in the same group rather than nesting.
Needs a Firefox version with the tab-groups API β the toggle disables itself and says so if yours doesn't have it.
Houdini periodically saves a snapshot of your panels and which tab belongs where. Open Settings to:
- set the snapshot period (in hours),
- set the maximum number of snapshots to keep (older ones are pruned),
- take a snapshot on demand,
- roll back to any saved snapshot, or delete ones you don't need.
Rolling back restores the panel list and re-tags your tabs to match the snapshot β reopening tabs that were since closed and closing ones opened afterward, so the window matches that point in time.
Snapshots use Firefox alarms, so the schedule survives browser restarts: if Firefox was closed when a snapshot was due, it runs on next launch.
Snapshots live inside the browser profile β fine for quick rollbacks, gone if the profile is. For a
portable copy, Settings β Backup & restore β Export saves your panels and tab assignments to a
houdini-backup-YYYY-MM-DD.json file. Import it (file or pasted JSON) on another machine or after a
reinstall to recreate the exact same setup.
β οΈ Restoring is destructive β it replaces all current panels and re-tags every open tab, just like a rollback. You'll be asked to confirm.
Install from the Firefox Add-ons store: Houdini
Switching from Sidebery? Houdini can recreate your panels and re-tag your open tabs to match.
Open Settings (from the popup) β Import from Sidebery. You can either pick a Sidebery backup file or paste the dump JSON. Both replace your current Houdini panels and re-tag every open tab.
β οΈ Import is destructive β it replaces all existing Houdini panels and tab assignments. You'll be asked to confirm.
A panels-only Sidebery backup recreates the panels but tags no tabs. To also re-tag your open tabs, grab a full storage dump:
-
Go to
about:debuggingβ This Firefox. -
Find Sidebery in the list β click Inspect.
-
Open the Console tab.
-
Paste and run:
(async () => { const d = await browser.storage.local.get(['sidebar','tabsDataCache','snapshots','ver']); copy(JSON.stringify(d)); console.log('Copied to clipboard β paste into Houdini.'); })();
-
The JSON is now on your clipboard. Paste it into the Import from Sidebery box in Houdini's Settings and click Import pasted JSON.
Houdini reads Sidebery's open-tab cache (tabsDataCache) to match each tab's URL to its panel; tabs whose
URL it can't match land in the first panel.
Need a clean slate? Settings β Reset collapses everything to a single default panel and moves all tabs into it. Like import, it's destructive and asks for confirmation.
| Permission | Why |
|---|---|
tabs, tabHide |
Read tabs and show/hide them per panel. |
sessions |
Tag each tab with its panel, persisting across restarts. |
storage |
Store panels, settings and snapshots. |
alarms |
Schedule automatic snapshots that survive restarts. |
menus |
Add the "Move to panel" tab right-click entry. |
tabGroups |
Put sub-tabs into native tab groups (when grouping is enabled). |
contextualIdentities, cookies |
List your containers and open/move tabs into a panel's linked one. |
Houdini collects no data and talks to no server β everything stays in your browser.
See LICENSE.
