Created
January 4, 2023 16:28
-
-
Save bashbunni/3880e4194e3f800c4c494de286ebc1d7 to your computer and use it in GitHub Desktop.
CLI Pomodoro for Linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# study stream aliases | |
# Requires https://github.com/caarlos0/timer to be installed. spd-say should ship with your distro | |
declare -A pomo_options | |
pomo_options["work"]="45" | |
pomo_options["break"]="10" | |
pomodoro () { | |
if [ -n "$1" -a -n "${pomo_options["$1"]}" ]; then | |
val=$1 | |
echo $val | lolcat | |
timer ${pomo_options["$val"]}m | |
spd-say "'$val' session done" | |
fi | |
} | |
alias wo="pomodoro 'work'" | |
alias br="pomodoro 'break'" |
Use with:
./timer.sh work 10
./timer.sh break 10
Will be set in minutes.
Quick install instructions for debian:
sudo apt-get install lolcat
echo 'deb [trusted=yes] https://repo.caarlos0.dev/apt/ /' | sudo tee /etc/apt/sources.list.d/caarlos0.list
sudo apt update
sudo apt install timer
#!/bin/bash
clear
declare -A pomo_options
pomo_options["work"]="45"
pomo_options["break"]="10"
pomodoro () {
if [ -n "$1" -a -n "${pomo_options["$1"]}" ]; then
val=$1
if [ -z "$2" ]; then
minutes=${pomo_options["$val"]}
else
minutes=$2
fi
echo $val | lolcat
timer $minutes"m"
spd-say "'$val' session done"
else
echo "Usage: pomodoro <work|break> [minutes]"
fi
}
if [ "$1" == "work" ]; then
pomodoro "work" "$2"
elif [ "$1" == "break" ]; then
pomodoro "break" "$2"
else
echo "Usage: ./timer.sh <work|break> [minutes]"
fi
#Make sure to install https://github.com/caarlos0/timer
#And make sure to have lolcat installed```
So simple yet very useful, thank you! 💪🏻
I added some artificial intelligense neural network framework library laser surgery hack scripting hackerman logic to this:
# study stream aliases
# Requires https://github.com/caarlos0/timer to be installed. spd-say should ship with your distro
declare -A pomo_options
pomo_options["work"]="45"
pomo_options["break"]="10"
pomodoro () {
if [ -n "$1" -a -n "${pomo_options["$1"]}" ]; then
val=$1
clear
echo $val | lolcat
timer ${pomo_options["$val"]}m
spd-say "'$val' session done"
fi
}
alias wo="pomodoro 'work'"
alias br="pomodoro 'break'"
which improves it by 405.33 (repeating of course) %
This is quite good.
Also, a suggestion of mine is that it would be nice if we can add like a "TODO" list along with it.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Except the last 3 points I did everyhing and now it is working with 'wo' and 'br'.
Thank you for your help!