You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
882 B
55 lines
882 B
#!/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
|
|
|