summaryrefslogtreecommitdiff
path: root/bin/menuscripts
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-07-01 01:14:59 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-07-01 01:14:59 +0200
commite1de506156454ba1d324faf548ad15fe804aa806 (patch)
tree1ca249b22bace59d41e950b7482443440ccc8c5e /bin/menuscripts
parentfecb6306631aaec1774497093b7da44ab5950d92 (diff)
parentb2077bbddf86dbdbf6cc63aaf2ceb8a2da614ebc (diff)
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'bin/menuscripts')
-rwxr-xr-xbin/menuscripts/pomo101
1 files changed, 46 insertions, 55 deletions
diff --git a/bin/menuscripts/pomo b/bin/menuscripts/pomo
index e8795e7..eb4c30b 100755
--- a/bin/menuscripts/pomo
+++ b/bin/menuscripts/pomo
@@ -1,78 +1,69 @@
#!/bin/sh
### FUNCTIONS
-notif() {
- herbe "pomo" "$1" &
- sleep 1
- pkill -SIGUSR1 herbe
+notif() {
+ herbe "pomo" "$1" &
+ sleep 1
+ pkill -SIGUSR1 herbe
}
-logn () { >&2 printf '%s\n' "$@"; }
-log () { >&2 printf '%s' "$@"; }
# Plays ringing sound
# Then wait for user input to start/end the break
-player_command()
-{
- >&2 printf ' > '
+player_command() {
+ printf >&2 ' > '
[ -r "$ringSound" ] || PLAYER=""
case "$PLAYER" in
- mpv) mpv --loop --msg-level=all=no "$ringSound" ;;
- "") head -n 1;;
- *) $PLAYER "$ringSound" ;;
+ mpv) mpv --loop --msg-level=all=no "$ringSound" ;;
+ "") head -n 1 ;;
+ *) $PLAYER "$ringSound" ;;
esac
}
# $1: time in minutes
# $2: msg for notification
-ring_ring()
-{
- logn "$(date '+%R') B $round"
+ring_ring() {
+ printf >&2 '%s B %s\n' "$(date '+%R')" "$round"
player_command
- herbe "pomo" "$2" &
- sleep "${1}m"
+ herbe "pomo" "$2" &
+ sleep "${1}m"
player_command
- >&2 printf '\n'
+ printf >&2 '\n'
}
-### PROGRAM
-main()
-{
- round="${1-0}"
- case "$round" in
- 0|1|2|3) ;;
- ring) ;;
- *) logn "Invalid \$round value." && exit 1 ;;
- esac
+### Program
- ringSound="${XDG_DATA_HOME:-$HOME/.local/share}"/pomo/ring.aac
- [ -r "$ringSound" ] && logn "ring: $ringSound"
+trap 'exit 1' INT
- if [ "$1" = "ring" ]
- then
- player_command
- exit
- fi
+round="${1:-0}"
+# args
+case "$round" in
+0 | 1 | 2 | 3) ;;
+ring) ;;
+*) printf >&2 'Invalid value: %s\n' "$round"; exit 1 ;;
+esac
- # Countdown
- for msg in "three" "two" "one"
- do notif "$msg"
- done
+ringSound="${XDG_DATA_HOME:-$HOME/.local/share}"/pomo/ring.aac
+[ -r "$ringSound" ] && printf >&2 'ring: %s\n' "$ringSound"
- while true
- do
- notif "START"
- logn "$(date '+%R') S $round"
- sleep 25m
- if [ "$round" -eq 3 ]
- then
- ring_ring 20 "GIGA BREAK TIME"
- round=0
- else
- ring_ring 5 "BREAK TIME"
- round=$((round+1))
- fi
- done
-}
+if [ "$1" = "ring" ]; then
+ player_command
+ exit
+fi
-trap 'exit 1' INT
-main "$@"
+# Countdown
+for msg in "three" "two" "one"; do
+ notif "$msg"
+done
+
+while true; do
+ notif "START"
+ printf >&2 '%s S %s\n' "$(date '+%R')" "$round"
+ sleep 25m
+ if [ "$round" -eq 3 ]; then
+ ring_ring 20 "GIGA BREAK TIME"
+ round=0
+ else
+ ring_ring 5 "BREAK TIME"
+ round=$((round + 1))
+ fi
+done