summary refs log tree commit diff
path: root/bin/pomo
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2021-07-29 23:45:43 +0200
committerRobert Günzler <r@gnzler.io>2021-07-29 23:48:28 +0200
commite77881a72b735ca12aa055054656afdfbd6a8fc8 (patch)
tree53ed4778acca18f55141e4efbdc0a841b64116a5 /bin/pomo
parent3079e935c793a9aa1831fd165e28636eb7a87dae (diff)
bin: format scripts
Diffstat (limited to 'bin/pomo')
-rwxr-xr-xbin/pomo68
1 files changed, 44 insertions, 24 deletions
diff --git a/bin/pomo b/bin/pomo
index b14ffed..c26729e 100755
--- a/bin/pomo
+++ b/bin/pomo
@@ -1,8 +1,19 @@
 #!/bin/sh
 
-WORK=15m
-BREAK=3m
-PAUSE=5m
+[ "$1" = "-h" ] || [ "$1" = "--help" ] && {
+	echo "usage: $(basename $(readlink -f -- "$0")) [-1] WORK BREAK PAUSE"
+	echo
+	echo "  WORK  (default: 15m)"
+	echo "  BREAK (default: 3m)"
+	echo "  PAUSE (default: 5m)"
+	echo
+	exit 0
+}
+
+[ "$1" = "-1" ] && _once=1 && shift
+WORK=${1:-15}m
+BREAK=${2:-3}m
+PAUSE=${3:-5}m
 
 WORK_BELL=/home/robert/Music/sounds/215415__unfa__ping.wav
 BREAK_BELL=/home/robert/Music/sounds/320655__rhodesmas__level-up-01.wav
@@ -10,43 +21,52 @@ 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" "$@"
+	echo "$@"
+	notify-send -i /usr/share/icons/mdi/scalable/progress-clock.svg -a pomo "pomo" "$@"
 }
 play() {
-    pw-play --media-role=Event --volume=0.4 "$@"
+	paplay --property=media.role=event --volume=0.2 "$@"
 }
 nag() {
-    swaynag --type=warning --dismiss-button=ok "$@"
+	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}"
+	play "${WORK_BELL}" 1>&2 2>/dev/null &
+	log "[$(date +%k:%M:%S)] work for ${WORK}"
+	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}"
+	play "${BREAK_BELL}" 1>&2 2>/dev/null &
+	nag -m "pomo: take a ${BREAK} break"
+	log "[$(date +%k:%M:%S)] 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}"
+	play "${PAUSE_BELL}" 1>&2 2>/dev/null &
+	nag -m "pomo: pause for ${PAUSE}"
+	log "[$(date +%k:%M:%S)] pause for ${PAUSE}"
+	sleep "${PAUSE}"
+}
+
+_end() {
+	aplay "${END_BELL}" 1>&2 2>/dev/null &
+	nag -m "[$(date +%k:%M:%S)] the end"
 }
 
 trap '{ printf "\n"; log "[$(date +%k:%M:%S)] goodbye"; exit 0; }' INT
 
+if [ -n "${_once}" ]; then
+	_work && _end
+	exit 0
+fi
+
 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"
+	_work && _break
+	_work && _break
+	_work && _break
+	_work && _pause
+	_end
 done