Option B
One window + account switcher
The tab strip goes away. One workspace fills the window, and a Gmail-style avatar in the top right opens the account picker — with per-workspace unread badges and ⌘1–9 to jump directly. Click the avatar to try it.
DriveChina— tinbox.drivechina.ca
DC
DriveChina
- WZWei ZhangBYD Seal import quote — revised — Attached the updated landed-cost sheet with the new freight rate…9:41
- PVPort of VancouverContainer MSKU-884 cleared customs — Your shipment has been released and is available for pickup…9:12
- MTMarie TremblayRe: Test drive this Saturday? — Perfect, 10am works. Should I bring anything besides my license…8:47
- StStripePayout of $12,480.00 on the way — Your payout is expected to arrive in your bank account by…Yesterday
- LCLiu ChenQ3 allocation — need your confirmation — We can hold 6 units of the Han EV at the current price until Friday…Yesterday
How it works
- One workspace per window — the tenant SPA gets the entire frame, with only a slim title bar (drag region + workspace name) above it.
- The avatar top-right is the only shell affordance: it shows your master account, every workspace with its unread badge, Add a server, and Sign out.
- ⌘1–9 switches directly without opening the menu; the aggregate unread badge rides on the avatar so background activity stays visible.
- Power users can still File → New Window a second workspace side by side.
Assessment
- Pros: cleanest possible window — near-zero shell chrome, maximal inbox real estate; the pattern is instantly familiar from Gmail/Slack; scales in a scrollable menu long past where tabs crowd.
- Cons: cross-workspace overview collapses into a badge number — you must open the menu to see where the action is, and there's no page that answers "what needs me first". Switching is modal: you lose sight of the inbox you left.
- Best when: most users have 1–2 workspaces and the multi-inbox founder is the edge case rather than the core persona. That's not our bet.
- Shell notes: TabManager survives as hidden background WebContentsViews (keeping sessions warm and unread polling alive); only the strip UI is retired. The switcher itself is bundled shell UI fed by the same bootstrap.