How r0stefan/vivaldi-tree-style-tabs works
TreeTabsVivaldi is a Vivaldi browser-UI modification that mounts a vertical, hierarchical tab panel. The main workflow runs from the browser UI through startup and tab-state coordination to rendering; user actions update the tree and native browser tabs, with persistence supporting restart recovery. Separate capabilities include workspace/tiling integration, folders and bookmark restoration, configurable panel behavior, and a Windows tray updater that checks GitHub and reapplies the patch. The architecture follows README claims and sampled modules; updater internals and some feature wiring are not fully sampled.
Main entry points: entry.js Mod Entry · tab-store.js Tab Coordinator · tree-controller.js Tree Controller · main.go Updater Runtime
Components 26
Startup and UI
- Mod Entry
src/entry.js - Mount and Wait
src/bootstrap/mount-root.js - Panel Renderer
src/ui/render.js - Panel Styles
src/ui/styles.js - Layout Adapter
src/adapters/layout.js - Theme Adapter
src/adapters/theme.js
Tabs and Tree
- Tab Coordinator
src/store/tab-store.js - Tree Controller
src/controllers/tree-controller.js - Native Reconcile
src/controllers/native-reconcile.js - Tree State
src/store/tree-store.js - Tree Selectors
src/store/tree-selectors.js - Tree Persistence
src/store/tree-persistence.js - Settings State
src/store/settings-store.js - Selection State
src/store/selection-store.js - Drag State
src/store/drag-store.js - Folder Pages
src/ui/folder-page.js
Browser Integrations
- Tabs and Bookmarks API
src/adapters/tabs-api.js - Vivaldi Bridge
src/adapters/vivaldi-bridge.js - Tab Relations
src/adapters/tab-relations.js
Windows Updater
- Updater Runtime
updater/main.go - Updater Services
updater
Other components
- Vivaldi User
- Vivaldi UI
- Vivaldi Browser Services
- GitHub Releases
- Vivaldi Installation
Connections 27
- Vivaldi UI → Mod Entry: loads mod
- Mod Entry → Mount and Wait: mounts panel
- Mount and Wait → Panel Styles: injects styles
- Mod Entry → Tab Coordinator: coordinates tabs
- Mod Entry → Panel Renderer: renders state
- Mod Entry → Layout Adapter: starts layout
- Mod Entry → Theme Adapter: starts theme
- Mod Entry → Selection State: tracks selection
- Mod Entry → Drag State: tracks drag
- Vivaldi User → Panel Renderer: uses panel
- Panel Renderer → Tab Coordinator: dispatches actions
- Tab Coordinator → Tree Controller: coordinates tree
- Tab Coordinator → Native Reconcile: reconciles tabs
- Tab Coordinator → Tabs and Bookmarks API: operates tabs
- Tab Coordinator → Folder Pages: updates folder URLs
- Tree Controller → Tree State: changes tree
- Tree Controller → Tree Selectors: derives tree views
- Tree Controller → Tree Persistence: persists tree
- Tree Controller → Tab Relations: resolves parents
- Tab Coordinator → Settings State: reads settings
- Tabs and Bookmarks API → Vivaldi Browser Services: uses browser APIs
- Vivaldi Bridge → Vivaldi Browser Services: accesses native features
- Tab Coordinator → Vivaldi Bridge: integrates workspaces
- Updater Runtime → Updater Services: invokes services
- Updater Runtime → GitHub Releases: checks and downloads
- Updater Runtime → Vivaldi Installation: patches installation
- Vivaldi Installation → Vivaldi UI: runs patched UI