Skip to main content

Whole keyboard · Quieter defaults

Hint Mode, Type-to-Select & a Real Keyboard Layer

Navigation v1.2.0

Nav v1.2.0 introduces a real keyboard layer for the browser. Four first-time features ship together: hint mode (letter badges over every clickable thing on the page), type-to-select (bare letters highlight every match), fast text selection (Shift+arrows extend by word, line, or block — copy without the mouse), and arrow-key page scroll with a velocity model. The settings dropdown is promoted to a full options page with 40 toggles up from 28 — sidebar nav, live search, and a tour that demonstrates each feature on hover. Per-site pause via Shift+Escape, customizable hint trigger, peek-by-default. Page-keystroke features ship OFF on install.

  • Hint mode (new) — hold Shift and a letter badge appears over every clickable thing on the page; type the badge to click
  • Type-to-select (new) — type bare letters to highlight every textual match on the page; arrows rotate, Enter activates, Alt+Enter peek-searches on Google
  • Fast text selection (new) — Shift+arrow extends selection by word, line, or block from any anchor for fast copy
  • Arrow-key page scroll (new) — slow / default / fast / off speed presets, velocity model designed to feel native
  • Dedicated options page replaces the in-sidepanel settings dropdown — 40 toggles up from 28, sidebar nav, search, scroll-spy, doubles as an onboarding tour
  • Per-site pause (new) — Shift+Escape toggles all Nav shortcuts on the current domain
  • Customizable hint trigger — Hold Shift (default), Hold Alt, Hold Ctrl, or press / for a vimium-style modal
  • Page-keystroke features ship OFF on install — opt in once you have read what they do

A Real Keyboard Layer

Nav has had keyboard shortcuts since v1.0 — Alt+K for the command palette, Alt+G for smart grouping, side-panel hotkeys. v1.2.0 introduces an entirely new keyboard layer that operates on the page itself, not just the side panel. Four features land together for the first time:

  • Hint mode — letter badges over every clickable thing
  • Type-to-select — find every textual match by typing
  • Fast text selection — Shift+arrow extends by word, line, or block
  • Arrow-key page scroll — velocity-modeled scroll on bare arrows

Each feature is independently toggleable in the new options page, and all four ship OFF on first install. Once you turn them on, Nav behaves like a vimium-class keyboard browser layered on top of Chrome — without sacrificing the side panel or workspaces.

Hint Mode

Hold Shift and a letter badge appears over every clickable thing on the page — links, buttons, form fields, role-button divs, deeply-nested SVG controls, the lot. Type the badge to click. Two-character badges resolve as you type. Hold Shift+Alt while typing the final letter to peek the link in the Glance overlay; Shift+Ctrl to open it in a background tab. When the prefix is ambiguous, Enter commits the current top action with the same modifier semantics.

Hint mode runs in every frame so it works inside iframes (think embedded YouTube, embedded GitHub, embedded everything). It does not modify network requests, ever. The whole feature lives in hints.js, around 1,500 lines of vanilla JavaScript.

Type-to-Select

With hint mode disengaged, type bare letters and Nav highlights every textual occurrence on the page using the CSS Custom Highlight API — the modern web platform feature for non-destructive page highlighting. Arrow keys rotate between matches. Enter activates the top match. Alt+Enter opens a peek-search of the matched text on Google in the Glance overlay. Ctrl+Enter opens that search in a background tab.

This is in-page text find that does what you expect when you start typing, not a separate dialog you have to open first.

Fast Text Selection

The keyboard text-copy story most users have wanted from a browser for years. While type-to-select is active, Shift+arrow extends the current selection by word, line, or block depending on the arrow direction — anchored at whatever you matched, not at the start of the document. Shift+A block-expands the current match to a paragraph.

Use this to grab a paragraph, a code block, a quoted passage, a citation — without touching the mouse. The selection extends through normal Chrome semantics so Cmd/Ctrl+C copies what you have.

A new Shift+arrow extend mode setting lets you choose between two behaviors: extend selection (what most users want) or rotate matches (vimium-style). Default is extend.

Arrow-Key Page Scroll

Optional arrow-key scrolling for the page (not for tab cycling — that stays on Alt+arrow). Four speed presets: Slow, Default, Fast, Off. Held arrows tap in instantly and accelerate while held using a velocity model designed to feel native, not script-driven. Internally we route the first press through a smooth scroll and subsequent repeats through instant scroll to dodge Chrome’s smooth-scroll cancellation clamp — the result is held-arrow scrolling that doesn’t stutter.

Setting lives in the Keyboard shortcuts card. Off by default per the conservative-defaults rule below.

Dedicated Options Page

The settings dropdown that lived inside the side panel has been replaced by a full options page (open from chrome://extensions → Details → Extension options, or from the gear icon). Forty toggles up from twenty-eight in v1.1.0 — twelve new settings exposed for the first time. The new page has:

  • Sidebar nav — Navigation / Tabs & workspaces / Appearance — and a search field that filters cards live
  • Scroll-spy — the current section auto-highlights in the sidebar as you scroll
  • All-collapsed default — every card starts closed; click to expand. Your collapse state persists per visit.
  • Plain-English titles — “Hint mode” not “keyboardHints”, “Fast text selection” not “textSelectionExtend”
  • Onboarding tour — every feature card has a hover-triggered animation that demonstrates the behavior in place. A Recommended subgroup at the top surfaces three high-leverage opt-ins. A checklist tracks what you have enabled and reflects the effective state, not raw storage.
  • Per-card help links — each card has a tiny help icon that scroll-anchors to the relevant section of the SuperchargeNavigation library article. Documentation is one click away from the setting it describes.

Conservative Install Defaults

Three page-keystroke features ship OFF on first install: hint mode, type-to-select, and shift-scroll. These features intercept page typing and scrolling — they are useful but surprising. The new install treats them as opt-ins surfaced through the onboarding tour, not first-run ambush.

If you have used Nav before this update, your existing settings carry over unchanged.

Customizable Hint Trigger

Hint mode does not have to live behind Shift. Four trigger choices in the options page:

  • Hold Shift — the default
  • Hold Alt — for users whose Shift collides with an OS shortcut
  • Hold Ctrl — when Shift is taken by a frequently-used app
  • Press / — a modal mode in the spirit of vimium; press /, type the badge to click, Esc to exit

The chord modifiers (peek and background-tab) auto-derive from your trigger choice so the three roles always stay distinct from each other. Setting copy showing kbd labels updates live to match your selected trigger.

Per-Site Pause

Shift+Escape on any page toggles a per-domain master switch. Every Nav content-script behavior (hints, type-to-select, Alt+scroll, Alt+middle-click, Alt+arrow tab cycling, Glance/Peek, rocker gestures, super-drag) is suppressed on that hostname until you toggle it back on.

The same toggle is also reachable from the Alt+K command palette (“Pause Nav shortcuts on …”) and from a per-site pause pill in the side-panel header that shows the current state at a glance.

Alt+Click for Peek

The peek modifier on regular link clicks has changed: Alt+Click now opens the link in the inline Glance overlay. Previously it was Shift+Click. The swap aligns plain-click peek with hint-mode peek, which uses Shift+Alt while typing — both now treat Alt as the peek modifier consistently. Ctrl+Click still opens in a background tab, matching Chrome’s native behavior.

Peek-by-Default

A new option inverts the click chord: with peek-by-default on, plain click + bare hint Enter peek the link in the Glance overlay; Alt opens normally. Ctrl always stays “background tab”.

A sub-option scopes peek-by-default to external-only — same-host links navigate normally, only cross-host links peek. Useful if you want peek on outbound clicks without affecting in-app navigation.

Alt+K Command Palette

Polish across the palette:

  • The active workspace is now visually highlighted in the workspace section
  • Type-ahead bonus — typing while the palette is open moves selection toward matches faster
  • New empty workspace entry with a shift-destructive chord for a clean slate
  • Esc closes the palette — previously it stayed open until you clicked outside or pressed Alt+K again
  • Arrow keys no longer leak through to the page underneath

Tab Dedup — Auto Mode

Tab deduplication has a new auto mode: enable it once and Nav silently merges duplicate tabs as you open them, no manual command needed. The manual Alt+K palette command still works the same way.

New Tab Page

The brand footer at the bottom of the new tab page no longer overlaps the top-sites grid on shorter viewports. The pinned-tabs row, top-sites, workspaces, search bar, clock, and ambient particle animation are all individually toggleable as before.

Smaller Additions

  • The topbar theme button cycles between light, dark, and auto without scrolling the viewport
  • Quick-reference card in the side panel is expanded by default; your collapse choice persists
  • Pro-tip card on the options page has a one-click “Enable combo” affordance with a demo animation
  • The slash trigger for hint mode works on non-US keyboard layouts
  • Setting copy showing kbd labels updates live to match your selected trigger
  • Smart Grouping and Ungroup All can be turned off if those shortcuts collide with another extension

Bug Fixes

A round of stability and edge-case fixes: chrome.storage init reads are now guarded against context invalidation; tour dots reflect the effective state rather than raw storage; tour clicks land on the right row and setting names match the tour copy; the inline onerror handler in the side panel was removed to comply with MV3 CSP; redundant row-to-row hairlines were dropped from setting cards; and the smooth-scroll cancellation clamp was worked around so held arrow keys stay smooth.