~mil/sxmo-utils

ref: 262418637f878d9325f6fb5a0a2844b3e20c95b2 sxmo-utils/scripts/appscripts/sxmo_timer.sh -rwxr-xr-x 882 bytes
26241863Stacy Harper Rework of the sxmo_modemtext with benefit 1 year, 4 months ago
                                                                                
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
#!/usr/bin/env sh

# include common definitions
# shellcheck source=scripts/core/sxmo_common.sh
. "$(dirname "$0")/sxmo_common.sh"

timerrun() {
	TIME=$(
		echo "$@" |
		sed 's#h#*60m#g'|
		sed 's#m#*60s#g'|
		sed 's#s#*1#g'|
		sed 's# #+#g' |
		bc
	)

	DATE1=$(($(date +%s) + TIME));
	while [ "$DATE1" -ge "$(date +%s)" ]; do
		printf %b "$(date -u --date @$((DATE1 - $(date +%s))) +%H:%M:%S) \r";
		sleep 0.1
	done
	echo "Done with $*"

	while :;
		do notify-send  "Done with $*";
		sxmo_vibratepine 1000
		sleep 0.5
	done
}

menu() {
	sxmo_keyboard.sh open
	TIMEINPUT="$(
	echo "
		1h
		10m
		9m
		8m
		7m
		6m
		5m
		4m
		3m
		2m
		1m
		30s
		Close Menu
	" | awk 'NF' | awk '{$1=$1};1' | dmenu -p Timer -c -l 20
	)"
	sxmo_keyboard.sh close
	[ "Close Menu" = "$TIMEINPUT" ] && exit 0
	st -f Monospace-50 -e "$0" timerrun "$TIMEINPUT"
}

if [ $# -gt 0 ]; then "$@"; else menu; fi