# Dock: Stops Letting Google Meet Links Open a New Window Every Time

### Three Workspaces, infinite windows

I have three Google Workspaces: personal Gmail, my own Workspace, and my company's. That means three separate PWAs for Mail, three for Meet, three for Calendar, and so on down the line.

Here's the thing: every time a Meet link landed in my chat, it opened a brand new window. Not focused an existing one — opened a new one. Multiply that by three accounts and a normal day of meetings, and you end up with a wall of Meet windows and duplicate Gmail tabs you can't tell apart. It got really hard to manage.

### What I built

So I built Dock. If you click a link and there's already a matching PWA open, Dock redirects you to that window instead of spawning a new one. Gmail, Meet, Calendar, Drive, Docs, Sheets, Slides, or Chat — same idea for all of them. Holding Shift bypasses it for that one click, for the times you actually want a fresh window.

Dock also helps me manage all my open tabs. Say I've got six Meet windows open across accounts — I can close any of them, for any account, from any screen. It keeps everything decluttered, the mental load is reduced. You don't need five mailboxes open just to check personal email once. One mailbox for personal, one for work, one for the side Workspace — or whatever your split looks like.

And I gave it a cute mascot: Meet Doc-k

![](https://cdn.hashnode.com/uploads/covers/628769bf89168247f55ee8b0/f2c1b0a5-a6bc-49f0-a00c-0420a963c906.png align="center")

### Getting the account right

The tricky part isn't catching the link. It's knowing *which* account's window to send you to. Dock routes to the window for the account the link actually names — via `authuser=`, `/u/N/`, or a stored mapping — and it keeps a window's identity correct even after you switch accounts from inside the PWA itself. It reuses the already-open window for that account instead of spawning a duplicate.

### The switcher

Press Ctrl/Cmd+Shift+Space and you get a fuzzy-searchable popup listing every app window, grouped by account. Live calls are surfaced first. One-click close, per window or per whole account.

A few other things it does:

*   Each login gets an automatically assigned, editable colour tag, shown on the toolbar icon and in the switcher.
    
*   You can add your own custom rules for apps Dock doesn't know about — Figma, Notion, whatever — with a match pattern, target behaviour, and account strategy.
    
*   Built-in Google Workspace rules can be disabled but not deleted.
    
*   Rules import/export as JSON.
    

### No network requests

It makes no network requests — nothing it does ever leaves your device. All the routing logic runs locally against windows Chrome already knows about.

### Try it

I haven't put it in the Chrome Store yet. Not sure I will. So clone the repo, build it yourself, and load it as an unpacked extension: [github.com/sirius93/dock](https://github.com/sirius93/dock).

That's the whole idea, and so far it's worked wonders for me. If it works for you too, star the repo or leave feedback — and if enough people find it worth the hassle, I'll look at making it live.
