aboutsummaryrefslogtreecommitdiff
path: root/scripts/idw-timer
blob: ca8460777fef5b9bd85fc6554919640c9660c681 (plain)
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
#!/usr/bin/bash
# Present exercises next to a simple timer.
SOUND="/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"
THINK=30
PAIR=30
PATTERN="*.pdf"
PEACLOCK_CONF="$(mktemp /tmp/peaclock-XXX.conf)"
PEACLOCK_ARGS="-u $PEACLOCK_CONF"

# Create a temporary peaclock timer config
write_timer_conf() {
	{
		echo "set seconds on"
		echo "timer ${1}s"
		echo "mode timer"
		echo "timer start"
	} > "$PEACLOCK_CONF"
}

for f in "$1"/$PATTERN; do
	xdg-open "$f" &

	write_timer_conf $THINK
	# Explicit word expansion of PEACLOCK_ARGS is safe because
	# PEACLOCK_CONF does not contain spaces
	# shellcheck disable=SC2086
	timeout --foreground $THINK peaclock $PEACLOCK_ARGS
	ffplay -autoexit -nodisp "$SOUND" 2>/dev/null

	write_timer_conf $PAIR
	# shellcheck disable=SC2086
	timeout --foreground $PAIR peaclock $PEACLOCK_ARGS
	ffplay -autoexit -nodisp "$SOUND" 2>/dev/null

	reset
	read -rp "next>"
	# Word splitting to expand all PIDs
	# shellcheck disable=SC2046
	kill $(jobs -p)
done