Dia Command Bar

oct 23, 2026

A small extension that adds an Arc-style command bar to Dia. Demo below.

Why I made it

Arc had a feature I really liked: press ⌘T and a little bar shows up on top of whatever page you're on.

  • one text box for your open tabs, bookmarks and history
  • a few browser actions, and a normal search when nothing matches
  • a Chromium extension, built for Dia and tested in plain Chromium
  • no build step, no account, no runtime dependencies
  • not an Arc clone: no spaces, no themes, no clever ranking

Try it

  • this is the real interface on made-up data
  • the four tabs are fake, so Enter just tells you what it would have done
  • click inside it first so it picks up your keys
sample data only

things to try

  • type @ to see only tabs, or > to see the browser actions
  • type a few letters of a tab name, like fig
  • type github.com and it treats it as an address; type something with a space in it and it becomes a search
  • press Ctrl+, (⌘, on a Mac) for settings. Under sources, switch on bookmarks and history and the sample ones will start showing up

new tab vs overlay

  • the buttons above switch between the two ways it appears
  • new tab is a full page with a clock; overlay floats over a website (the stripes stand in for the site)
  • in overlay mode, Esc clears what you typed and a second Esc closes it
  • Ctrl+Shift+L brings it back; drag the little handle at the top to move it

Using it

  • on a website, press ⌘⇧L (Ctrl+Shift+L on Windows and Linux) or click the toolbar icon
  • a fresh new tab gets the full-page version
  • want ⌘T to work like Arc? There's a setting for it (see the rough parts)
you doit does
type a phrasesearches with your browser's default engine
example.com localhost:3000goes straight there
@finds an open tab, including ones in other windows
*searches bookmarks
#searches history (7, 30 or 90 days back)
>browser actions: downloads, history, bookmarks, extensions, new window, settings
↑ ↓ Entermove through results and open one
⌘Enteropens in a new tab
⌘1 to ⌘9jumps to that result
Escclears the search; again to close the overlay
⌘,opens settings
  • bookmarks and history are off until you switch them on, and the browser asks permission first
  • results opened from the overlay go into a new tab by default, so the page you were reading stays put
  • you can change that to replace the current tab

Settings

  • seven sections: appearance, command bar, new tab, search, sources, overlay, shortcuts
  • cosmetic: theme, accent color, font, spacing, corner roundness, width
  • practical: search engine, how many results, where results open
  • want the closest thing to Arc? The README lists the exact choices: blue accent, 14px corners, 620px wide, soft highlight, results in a new tab

Privacy and permissions

  • no analytics, no remote scripts, no remote fonts
  • the content security policy only allows one outside address, Google's autocomplete endpoint, and only if you turn suggestions on
  • matching against tabs, bookmarks and history happens on your machine
  • search suggestions are off by default. If you enable them, what you've typed so far (after three characters and a short pause) goes to Google, even if your search engine is something else
  • addresses, @ * # > searches and private windows never send anything
permissionwhy it's there
tabsread tab titles and addresses so it can search and switch tabs
activeTab, scriptingdraw the overlay after you click the icon or use the shortcut
storagesave your settings locally
searchuse the browser's default search engine
bookmarks, historyoptional, only after you turn them on
suggestqueries.google.comoptional, only for search suggestions
all websitesoptional, only for the ⌘T overlay

Restore defaults in settings turns everything off again and revokes the optional permissions.

The rough parts

the ⌘T overlay is a workaround

  • browsers don't let extensions take over ⌘T
  • so the browser opens a new tab as usual, the extension waits for the bar to load on your previous page, switches back, and closes the empty tab
  • you might see a quick flash while that happens
  • it only ever closes the empty tab it was handed
  • it spots a fresh tab by Dia's homepage address (chrome://start-page/ plus an id). Dia doesn't document that, so a future release could break it until I update

smaller things

  • the overlay can't draw on chrome:// pages, the Chrome Web Store, or sites that refuse to be embedded. There it opens a regular tab instead
  • on a new tab the browser sometimes keeps focus in its own address bar, so click the command bar or hit the shortcut
  • it isn't on any extension store
  • tested by running the real extension in an isolated Chromium profile with Playwright, plus unit tests for the timing cases in the new tab logic
  • independent project, not affiliated with The Browser Company, Dia or Arc

Install

  1. get the code from github and put it somewhere it can stay
  2. open chrome://extensions in Dia and turn on developer mode
  3. click load unpacked and pick the folder with manifest.json
  4. pin it, then press ⌘⇧L on any website
  • the browser loads it straight from that folder, so don't move it afterwards
  • changed something? hit reload on the extension card
  • for ⌘T: settings → overlay → open new tabs as an overlay, then allow website access

← back to essays

oct 23, 2026