Skip to content

Instantly share code, notes, and snippets.

@avasilkov
Last active May 20, 2016 17:27
Show Gist options
  • Select an option

  • Save avasilkov/74dc3c9b125d570f698e73ce7c131afa to your computer and use it in GitHub Desktop.

Select an option

Save avasilkov/74dc3c9b125d570f698e73ce7c131afa to your computer and use it in GitHub Desktop.
#!/bin/bash
message () {
ans=$(zenity --entry --title="It's time!" --timeout=86000 --text="$current_message"s)
if [ "$ans" != "123" ]
then
sleep 1m
message
else
end_time=$(date -u)
touch buffer
$(date +"%r %b %m-%d-%Y %A" >> buffer)
work_time=$(date -d @$(( $(date -d "$end_time" +%s) - $(date -d "$start_time" +%s) )) -u +'%M:%S')
echo "Worktime is $work_time" >> buffer
echo "@-----------------------------------------------------------" >> buffer
$EDITOR buffer
end_time=$(date -u)
zenity --info --timeout=86000 --text="You left at $(date +'%r')\nI'm back!"
echo "Break time is $(date -d @$(( $(date +%s) - $(date -d "$end_time" +%s))) -u +'%H:%M:%S')" >> buffer
echo "@-----------------------------------------------------------" >> buffer
cat buffer >> log
rm buffer
fi
}
str_short_break="Time for a break, buddy.\nGo grub some glucose.
Be sure to be back after 5-7 mins.\nPassword is 123.\nOK is the right answer."
str_long_break="Well done!\nNow time for a long break,
go enjoy your life for 15-30 mins.\nRun me again when you are back!\nPassword is 123.\nOK is the right answer."
current_message=$str_short_break
echo "-----------------------------------------------------------------------" >> log
echo -e "\n\nStart of session\n\n" >> log
for step in {1..5}
do
echo "$step pomodoro started at $(date +'%r %b %m-%d-%Y %A')"
echo -e "\n$step pomodoro started at $(date +'%r %b %m-%d-%Y %A')\n" >> log
start_time=$(date -u)
for t in {1..25}
do
sleep 1m
echo "$(($t*1)) minutes have elapsed"
done
if [ $step -eq 5 ]
then
current_message=$str_long_break
fi
message
echo "$step pomodoro finished at $(date +'%r %b %m-%d-%Y %A')"
echo -e "\n$step pomodoro finished at $(date +'%r %b %m-%d-%Y %A')\n" >> log
done
echo -e "\n\nEnd of session\n\n" >> log
echo "-----------------------------------------------------------------------" >> log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment