Skip to content

isene/tock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tock

The fast terminal calendar. Written in Rust.

Rust License Platform Stay Amazing

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.

Tock screenshot

Features

  • 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/)

Install

Download the prebuilt binary from Releases, or build from source:

cargo build --release
cp target/release/tock ~/.local/bin/

Key Bindings

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

Configuration

Config file: ~/.tock/config.yml

Settings include location (for astronomy/weather), work hours, calendar colors, sync intervals, and notification preferences.

Dependencies

Runtime: SQLite (bundled). Optional: notify-send (notifications), xclip (clipboard).

Part of the Rust Terminal Suite

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

License

Unlicense - public domain.

Credits

Created by Geir Isene (https://isene.org) with extensive pair-programming with Claude Code.

About

Rust terminal calendar app. Feature clone of Timely with day/week/month views.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages