diff options
| author | Robert Günzler <r@gnzler.io> | 2020-12-03 12:55:19 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2020-12-07 19:28:05 +0100 |
| commit | e93cee56264c7e1d07b422d66430d996fd8b0c40 (patch) | |
| tree | 862a84aa24710767e06d6917f0cda390c5573526 | |
| parent | c594c384632c9a023258a5ac43f5e28563d4b974 (diff) | |
Add bin/pomo; simplistic pomodoro timer
| -rwxr-xr-x | bin/pomo | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/pomo b/bin/pomo new file mode 100755 index 0000000..b14ffed --- /dev/null +++ b/bin/pomo @@ -0,0 +1,52 @@ +#!/bin/sh + +WORK=15m +BREAK=3m +PAUSE=5m + +WORK_BELL=/home/robert/Music/sounds/215415__unfa__ping.wav +BREAK_BELL=/home/robert/Music/sounds/320655__rhodesmas__level-up-01.wav +PAUSE_BELL=/home/robert/Music/sounds/32304__acclivity__shipsbell.wav +END_BELL=/home/robert/Music/sounds/105228__chimerical__old-fashion-radio-jingle-2.wav + +log() { + echo "$@" + notify-send -a pomo "pomo" "$@" +} +play() { + pw-play --media-role=Event --volume=0.4 "$@" +} +nag() { + swaynag --type=warning --dismiss-button=ok "$@" +} + +_work() { + log "[$(date +%k:%M:%S)] work for ${WORK}" + play "${WORK_BELL}" 1>&2 2>/dev/null & + sleep "${WORK}" +} + +_break() { + log "[$(date +%k:%M:%S)] take a ${BREAK} break" + play "${BREAK_BELL}" 1>&2 2>/dev/null & + nag -m "pomo: take a ${BREAK} break" + sleep "${BREAK}" +} + +_pause() { + log "[$(date +%k:%M:%S)] pause for ${PAUSE}" + play "${PAUSE_BELL}" 1>&2 2>/dev/null & + nag -m "pomo: pause for ${PAUSE}" + sleep "${PAUSE}" +} + +trap '{ printf "\n"; log "[$(date +%k:%M:%S)] goodbye"; exit 0; }' INT + +while true; do + _work && _break + _work && _break + _work && _break + _work && _pause + aplay "${END_BELL}" 1>&2 2>/dev/null & + nag -m "[$(date +%k:%M:%S)] the end" +done |