The fast terminal calendar. Written in Rust.
Terminal calendar with week view, event management, astronomy, and weather. Built on Crust. Feature clone of Timely rewritten in Rust for speed and single-binary distribution.
- 5-pane TUI: info bar, mini-month strip, week view grid, event details, status bar
- Week view: 7-column layout with half-hour time slots, all-day event rows, weather per day
- Mini-month calendars: horizontal strip with event indicators, week numbers, today highlight
- Calendar sources: Google Calendar (OAuth2), Outlook/365 (device auth), local events
- ICS import: parse and import .ics files with RRULE expansion for recurring events
- Background sync: automatic polling with configurable intervals
- Ephemeris engine: full planetary position calculator ported from ruby-ephemeris
- Moon phase with emoji symbols, illumination percentage
- Moon rise/set times
- Sunrise/sunset times
- Visible planets (Mercury, Venus, Mars, Jupiter, Saturn) with rise/set
- Solstices, equinoxes, 11 meteor shower peaks
- Weather: 7-day forecast from Met.no (free, no API key)
- Desktop notifications: configurable alarms via notify-send
- Event management: create, edit, delete, accept invites (RSVP)
- Preferences: 15 configurable settings with inline color picker (256-color grid)
- Calendar manager: enable/disable calendars, change colors, remove
- Kastrup integration: reply to events via Kastrup (r key), jump to Kastrup (Z key)
- Database: SQLite DB in ~/.tock/tock.db (migrated from ~/.timely/)
Download the prebuilt binary from Releases, or build from source:
cargo build --release
cp target/release/tock ~/.local/bin/| Key | Action |
|---|---|
| d/RIGHT, D/LEFT | Next/prev day |
| w/W | Next/prev week |
| m/M | Next/prev month |
| y/Y | Next/prev year |
| UP/DOWN | Navigate time slots |
| PgUp/PgDn | Jump 10 slots |
| HOME/END | Top/bottom of day |
| j/k | Cycle events on day |
| e/E | Jump to next/prev event |
| t | Go to today |
| g | Go to date |
| n | New event |
| Enter | Edit event |
| x/DEL | Delete event |
| v | View event details |
| a | Accept invite (RSVP) |
| Ctrl+Y | Copy event to clipboard |
| i | Import ICS file |
| G | Setup Google Calendar |
| O | Setup Outlook/365 |
| S | Manual sync |
| C | Calendar manager |
| P | Preferences |
| Ctrl+R | Clear caches |
| Ctrl+L | Redraw |
| ? | Help |
| q | Quit |
Config file: ~/.tock/config.yml
Settings include location (for astronomy/weather), work hours, calendar colors, sync intervals, and notification preferences.
Runtime: SQLite (bundled). Optional: notify-send (notifications), xclip (clipboard).
| Tool | Clones | Description |
|---|---|---|
| rush | rsh | Shell |
| crust | rcurses | TUI library |
| kastrup | Heathrow | Messaging hub |
| tock | Timely | Calendar |
| pointer | RTFM | File manager |
| scroll | brrowser | Web browser |
| crush | - | Rush config helper |
Unlicense - public domain.
Created by Geir Isene (https://isene.org) with extensive pair-programming with Claude Code.
