ticktock
A Charm-native front-end for the tock time
tracker. Review, edit, and backfill your tracked time in a fast terminal UI.
tock stays the source of truth — ticktock only reads and writes through it. The
command is tt.
Install
brew tap humdrum/tap https://codex.humdrum.me/git/homebrew-tap.git
brew trust humdrum/tap # newer Homebrew gates third-party taps
brew install tt
Upgrade later with brew upgrade tt.
Requirements
tockon PATH. ticktock owns no storage — every read and write shells out to your installedtock. Tested against tock v1.9.8; older versions may predate thereport --json/add -s/-econtract it relies on.- tock's sqlite backend is strongly recommended. ticktock works on any
backend for reading and adding, but editing an entry is a remove-then-re-add,
and on the file/markdown backend tock's
report --jsoncan omit tags/notes — so an edit could silently drop them. On sqlite the full row round-trips intact. sqlite3CLI (optional). Used only to pull history for autocomplete when the sqlite backend is active. Missing it just falls back totock last; nothing breaks.
Usage
Run tt for the command list. The three views:
tt timeline [date|today|yesterday]— spatial day grid: fixed slot rows, range-select to add an entry, edit/delete logged sessions, per-project colors. (Alias:tt tui.)tt day [date|today|yesterday]— list view with per-project totals and Enter-to-edit.←/→change day.tt menu— guided menu over tock: start, stop, current, continue, note, tag, report, list, last, watch, analyze. Full-screen actions (watch/list/analyze) hand the terminal over to tock.
In the add/edit form, project, description, and tags autocomplete
from your tock history (Ctrl+E accepts a suggestion). Values stay free text.
History comes from the tock sqlite DB when that backend is active, otherwise
from tock last.
Config
~/.config/ticktock/config.json (all optional):
| key | default | meaning |
|---|---|---|
slot_minutes |
30 |
grid row height in minutes (min 5) |
grid_start |
07:00 |
earliest grid hour (auto-expands to data) |
grid_end |
21:00 |
latest grid hour (auto-expands to data) |
project |
"" |
default project for a new entry |
License
AGPL-3.0-or-later. See LICENSE.