37 lines
934 B
Bash
37 lines
934 B
Bash
#!/bin/bash
|
|
|
|
WORK_MINUTES=25
|
|
BREAK_MINUTES=5
|
|
LONG_BREAK_MINUTES=15
|
|
POMODOROS_PER_LONG_BREAK=4
|
|
|
|
# Get the PID of this script (excluding the grep process itself)
|
|
MYPID=$$
|
|
if pgrep -f "pomodoro.sh" | grep -qv "$MYPID"; then
|
|
# Another instance is running - kill it
|
|
notify-send "Pomodoro Timer" "Timer stopped" -a "Pomodoro"
|
|
pkill -KILL -f "pomodoro.sh"
|
|
exit
|
|
fi
|
|
|
|
# Initialize counters
|
|
pomodoro_count=0
|
|
|
|
# Main loop
|
|
while true; do
|
|
# Work period
|
|
notify-send "Pomodoro Timer" "Work time! ($WORK_MINUTES minutes)" -a "Pomodoro"
|
|
sleep ${WORK_MINUTES}m
|
|
|
|
((pomodoro_count++))
|
|
|
|
if ((pomodoro_count % POMODOROS_PER_LONG_BREAK == 0)); then
|
|
notify-send "Pomodoro Timer" "Great job! Take a long break ($LONG_BREAK_MINUTES minutes)" -a "Pomodoro"
|
|
sleep ${LONG_BREAK_MINUTES}m
|
|
else
|
|
notify-send "Pomodoro Timer" "Good work! Take a short break ($BREAK_MINUTES minutes)" -a "Pomodoro"
|
|
sleep ${BREAK_MINUTES}m
|
|
fi
|
|
|
|
done
|