diff options
-rwxr-xr-x | gromo | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +#!/bin/sh +# +# gromo - To count your daily gromodoros :thumbsup +# +# Dependencies: curl and mpv for the 'ding' sound; slock to force you to rest :) +################################################################################ + +DEFAULT_DING=https://gramos.me/ding.opus +GROMO_SECONDS=$((60 * 20)) +STOP_SECONDS=20 + +DATA_DIR=${XDG_DATA_HOME:-$HOME/.local/share}/gromo +TODAY_FILE=$DATA_DIR/$(date -I) +DING_FILE=${XDG_CACHE_HOME:-$HOME/.cache}/gromo/ding.opus + +mkdir -p $DATA_DIR + +[ -f $DING_FILE ] || curl $DEFAULT_DING --create-dirs -so $DING_FILE + +gromos=0 +[ -f $TODAY_FILE ] && read gromos < $TODAY_FILE +echo "Gromos today: $gromos" + +while true; do + echo -ne "Press any key to start gromo > " + read -n1 ok + echo -ne "\r \r" + + sleep $GROMO_SECONDS + gromos=$(($gromos+1)) + seconds=$(($gromos * $GROMO_SECONDS)) + echo $gromos > $TODAY_FILE + + (sleep $STOP_SECONDS && mpv --no-terminal $DING_FILE) & + slock + + echo $seconds + if [ $seconds -lt 60 ]; then + gromo_time="$seconds seconds" + elif [ $seconds -lt 3600 ]; then + gromo_time="$(($seconds / 60)) minutes" + else + gromo_time="$(($seconds / 3600)) hours" + fi + echo -ne "Completed $gromos gromos today ($gromo_time). " +done |