A minimal macOS speed reader that uses RSVP (Rapid Serial Visual Presentation). Select text anywhere, press a hotkey, and read it word-by-word in a floating frosted-glass overlay.
- macOS 13+
- Swift 5.9+
git clone https://github.com/chrisurline/rapid-read.git
cd rapid-read
swift runThe app runs as a menu bar utility (no dock icon). Look for the ⊞ icon in your menu bar.
-
Free up your hotkey — the default is ⌘Space, so disable Spotlight's shortcut: System Settings → Keyboard → Keyboard Shortcuts → Spotlight → uncheck "Show Spotlight search" (Or configure a different hotkey and skip this step.)
-
Grant Accessibility permissions The app will prompt on first launch. Required to capture the hotkey and copy selected text.
- Select text in any app (browser, editor, PDF viewer, etc.)
- Press your hotkey (default ⌘Space) — a reader appears near your cursor
- Press the hotkey again or Esc to dismiss
- Clicking outside the reader also dismisses it
| Key | Action |
|---|---|
Space |
Pause / resume (restart if finished) |
← / → |
Skip back / forward 5 words |
⌥← / ⌥→ |
Skip back / forward 10 words |
↑ / ↓ |
Speed ±25 WPM |
Esc |
Dismiss |
| Click | Pause / resume |
| Drag | Move the reader window |
Settings are stored at ~/.config/rapidread/settings.json (created on first launch). Open it from the menu bar icon → "Open Settings…"
{
"corner_radius" : 16,
"font_size" : 42,
"hotkey" : "command+space",
"skip_large" : 10,
"skip_small" : 5,
"start_delay" : 0.5,
"window_height" : 160,
"window_width" : 600,
"wpm" : 425,
"wpm_step" : 25
}| Setting | Description |
|---|---|
wpm |
Starting words per minute |
wpm_step |
How much ↑/↓ adjusts speed |
font_size |
Word display size in points |
start_delay |
Seconds before playback begins (first word shows immediately) |
hotkey |
Global trigger shortcut (see below) |
window_width / window_height |
Reader panel dimensions |
corner_radius |
Panel corner rounding |
skip_small / skip_large |
Words skipped by arrow / ⌥+arrow |
Changes take effect on next launch.
The hotkey setting is a +-separated string of modifiers and a key:
modifier+modifier+key
Modifiers: command (or cmd), shift, option (or opt/alt), control (or ctrl)
Keys: any letter or number, space, return, tab, delete, escape, f1–f12, left/right/up/down, common punctuation
Examples:
"hotkey": "command+space"
"hotkey": "command+shift+e"
"hotkey": "option+r"
"hotkey": "control+shift+f2"If the value can't be parsed, it falls back to command+space.
