Mousewho is a Manifest V3 Chrome extension for fast keyboard-only browsing with Vim-style keys. It avoids persistent overlays and only scans the visible page when link hints are requested.
- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked and choose this repository.
| Key | Action |
|---|---|
j / k |
Scroll down / up |
h / l |
Scroll left / right |
d / u |
Half-page down / up |
gg / G |
Top / bottom of page |
f |
Show fast hints and click the selected target |
F |
Show hints and open the selected link in a background tab |
J / K |
Previous / next tab |
i |
Focus first visible text input and enter insert mode |
? |
Show in-page help |
Esc / Ctrl-[ |
Exit hints/help or blur focused input from insert mode |
- Normal scrolling and navigation are direct keydown handlers with no page scans.
- Link/button hinting is lazy: Mousewho scans only when
f/Fis pressed. - Candidate collection uses one selector query, filters to visible targets, caps rendered hints, and builds DOM markers in a
DocumentFragment. - Overlays live in a contained Shadow DOM host with
pointer-events: nonefor hints. - Synthetic benchmark coverage tracks hint label generation and prefix filtering latency.
npm test
npm run benchmarkThe extension has no runtime build step and no npm dependencies.