blob: 5c0e3ea479834328ade76d1615f6540ee4cbb1b5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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.
|