A black-background new tab page for Chromium browsers, built for OLED/AMOLED screens on desktop and mobile. It shows interactive ASCII eyes that follow the cursor, a clock, an optional quote and search bar, editable shortcuts and a Chrome bookmarks drawer.
- ASCII eyes
- Expression presets (Classic, Sleepy, Wide, Squint, Glare, Close-set, Wide-set) plus random-per-tab
- Five density ramps: Classic (
· ~ o x + = * % $ @), Minimal (· : * # @), Blocks (░ ▒ ▓ █), Binary (0 1), Matrix - Pointer/touch gaze tracking, configurable blink rate (Normal, Calm, Frequent, Off)
- Reactions: idle drift, double-blink on click, look away on right-click, scroll reactions, sleep breathing after 35 s idle, and an optional "dizzy" wobble when you shake the mouse
- Scales to fit narrow mobile screens
- Search bar (optional): press
/to focus; Google, DuckDuckGo, Brave, Perplexity, Bing or a custom%stemplate; bang shortcuts (!gh,!yt,!r,!w,!m); typed domains and URLs open directly; choose new tab or current tab - Bookmarks drawer: open with the top-bar star or
b; live search across all folders; drag a bookmark onto a shortcut chip to assign it; add or delete bookmarks inline - Colors: 12 presets (Warm White, Cyber Amber, Electric Gold, Magma Orange, Crimson Red, Sunset Rose, Neon Fuchsia, Synthwave Purple, Cobalt Blue, Ice Cyan, Tokyo Mint, Terminal Green), a native color picker or a hex code; eye, glow and dim text tones are derived from the accent
- Quotes: random quote with copy button, can be turned off; cached and prefetched so tabs open without layout shift; offline fallbacks in
fallbacks.json - Effects: cursor/touch glow, click shockwave rings, right-click sonar pulse
- Shortcuts and layout: up to 8 chips with favicons, letter badges or text only; UI scale 70-200%; settings toggled off are applied before first paint
- Storage:
localStoragecache for instant startup,chrome.storage.localas the main store, debouncedchrome.storage.syncacross devices; full settings backup/restore as JSON
- Chrome Manifest V3 extension (new tab override), plain HTML, CSS and JavaScript, no build step
- Node's built-in test runner for tests
- Permissions:
storage,bookmarks; host access to two quote APIs
- Clone or download this repository.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and select the repository folder (the one with
manifest.json). - Open a new tab.
- Extension: in Kiwi or Lemur (Android) or Orion (iOS), open Extensions, enable Developer mode, and load the folder or a zip of it.
- Home screen web app: open
newtab.htmlin a mobile browser and add it to the home screen.
More detail is in docs/install.md. Usage notes are in docs/usage.md, and network and storage behavior is in docs/privacy.md.
| Shortcut / control | Action |
|---|---|
/ |
Focus the search bar (when enabled) |
b |
Toggle the bookmarks drawer |
s or , |
Open settings |
1-8 |
Open shortcut by position |
Escape |
Close any drawer, modal or menu |
| Right-click | Context menu (Settings, Toggle Quote, Toggle Glow, Cycle Eyes, New Shortcut) |
| Shake the mouse | Dizzy eyes (if enabled) |
npm testmanifest.json Extension manifest
newtab.html/.css/.js Page shell, styles and main logic (clock, quotes, search, chips, settings)
eyes-display.js ASCII eye rendering, gaze, blink and reactions
preinit.js Applies cached settings before first paint
storage.js Layered storage (localStorage, chrome.storage.local/sync)
background.js Opens the page when the toolbar icon is clicked
ascii.js, eyes.js Helpers used by tests
fallbacks.json Offline quotes
tests/ Node tests
docs/ Install, usage, privacy and architecture notes
icons/, scripts/ Extension icons and the script that generates them
Active (version 1.4.0).
MIT. See LICENSE.
