xxwhirlpool
·
2026-03-10
pomodoro
1#!/usr/bin/env bash
2#
3# adapted from bashbunni's zshrc example:
4#
5# https://gist.github.com/bashbunni/3880e4194e3f800c4c494de286ebc1d7
6
7notif() {
8 notify-send "'$val' session done"
9 spd-say -t female3 -r +35 "'$val' session done"
10}
11
12quick() {
13 val="quick"
14 echo -e "⏱️ $val ‧₊˚🌈✩ ₊˚🫧⊹♡" | lolcat -p 0.2
15 timer "15m"
16 notif
17}
18
19work() {
20 val="work"
21 echo -e "⏱️ $val ‧₊˚🌈✩ ₊˚🫧⊹♡" | lolcat -p 0.2
22 timer "45m"
23 notif
24}
25
26takebreak() {
27 val="break"
28 echo -e "⏱️ $val ‧₊˚🌈✩ ₊˚🫧⊹♡" | lolcat -p 0.2
29 timer "20m"
30 notif
31}
32
33custom() {
34 val="custom"
35 choice=$(gum input --placeholder duration | awk '{print $0"m"}' )
36 echo -e "⏱️ $val: $choice ‧₊˚🌈✩ ₊˚🫧⊹♡" | lolcat -p 0.2
37 timer "$choice"
38 notif
39}
40
41list() {
42 pick=$(gum choose --limit 1 --header "pomodoro timer!" "quick" "work" "break" "custom")
43 case "$pick" in
44 *quick) quick;;
45 *work) work;;
46 *takebreak) takebreak;;
47 *custom) custom;;
48 *) exit;;
49 esac
50}
51
52list