ttym - terminal countdown / stopwatch ===================================== A small countdown timer and stopwatch in C. Single binary, libc-only, no daemon. The base build is terminal-only -- it writes no files and spawns no processes: T-24:13 +00:47 [████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 25% - countdown when given a duration; stopwatch when not - pause/resume with [space], quit with [q] or Ctrl+C - progress bar with eight styles (`--bar`, auto-detected by locale) - alert until keypress on completion (`--no-persist` to disable), with an optional reverse-video flash (`--flash on|off`) Every feature that touches the filesystem, runs a subprocess or needs an external binary is an optional patch under patches/ -- desktop notifications, session logging, hooks and a runtime config file. See patches/README for the set and apply order. Requirements ------------ A C compiler and POSIX make. No external libraries. Installation ------------ Edit config.mk if needed, then: make sudo make install # to $(PREFIX)/bin/timer ; default /usr/local Override the prefix at build time: make PREFIX=$HOME/.local install The installed binary is named `timer`. Configuration ------------- Compile-time knobs live in config.def.h. On first build the Makefile copies it to config.h; edit config.h and re-`make` to change defaults. Usage ----- timer [FLAGS] DURATION countdown timer [FLAGS] stopwatch DURATION: 25m | 90s | 2h | 1h30m | 01:30:00 | 25:00 FLAGS: -q no sound -s silent --no-persist skip alert-until-keypress loop --flash on|off terminal flash during alert loop --bar STYLE bar style: unicode|ascii|hash|dots|line|block|arrow|minimal -- end of options -h help `timer -h` always reflects the build: each patch updates the help text in lockstep with the flags it adds. License ------- MIT. See LICENSE.