Raycast
Capture tasks, check today, and drive the timer from Raycast — over a local Unix socket, so nothing leaves your machine.
Enable the integration
- In the app, open Settings (⌘,) → General and enable Raycast integration. This creates the local socket the extension talks to.
- Install the extension (local build while the beta is out of the Raycast Store):
git clone <floating-todos repo> && cd floating-todos/raycast npm install npm run dev # = ray develop: builds and adds the extension to Raycast
After the first ray develop the extension stays installed; assign per-command hotkeys in Raycast → Extensions.
Commands
| Command | What it does |
|---|---|
| Today's Tasks | Today's list grouped by status. ⏎ opens in the app, ⌘D toggles done, ⌘T starts/stops the timer. Shows priority, source, tracked time, and a running-timer indicator. |
| Quick Add | One argument — the quick-add string (Buy milk tomorrow 15:00 #home), parsed with the same natural-language tokens as the panel. |
| Open Todos / Notes / Calendar / Task Pool | Deep-links to each window — they work even when the app isn't running yet. |
| Toggle Focus Mode | Collapse to the one-line strip, or expand back. |
How it works
List, quick-add, and timer commands speak one-line JSON over a Unix socket at ~/Library/Application Support/FloatingTodos/raycast.sock. Window commands fire floatingtodos:// deep-links, which also launch the app on demand. If the socket is down, Quick Add falls back to the deep-link — capture never fails.