Return to Snippet

Revision: 31120
at August 30, 2010 14:19 by ksaver


Initial Code
#!  /usr/bin/env bash
#   File:            tomatoe.sh
#   What the..?:     A simple timer to apply The Pomodoro Technique.
#   Who  the..?:     ksaver (at identi.ca).
#   Why? :           In the Hope of this little script can be useful...
#   When?:           July 2010.
#   Requieres:       bash, play, zenity (nix like OS, of course).
#   More Info:       http://www.pomodorotechnique.com
#   License:         Public Domain.
#                    Not any warranty at all.
#---------------------------------------------------------------
 
scriptname=$(basename $0 .sh)
scriptvers='0.6'
 
## --- Set preferences ---
minute=60           # Secs in one min. 60 (habitually).
m_resting=5         # Resting time. Default 05 minutes.
m_working=25        # Working time. Default 25 minutes.
s_resting=$(($m_resting*$minute)) # seconds to resting.
s_working=$(($m_working*$minute)) # seconds to working.
audio_warning="/home/$USER/Audio/attention.wav" # some cute audio warning.
## -----------------------
 
function starting_dialog()
{
    zen_dialog --title "$scriptname - $scriptvers" --question \
    --text="Starting Tomatoe Timer:\
    \n$m_working Mins Working/$m_resting Mins Resting."
    return $?
}
 
function tomatoe_timer()
{
    TASK=$1
    LIMIT=$2
    COUNT=0
    while [ $COUNT -lt $LIMIT ]
    do
    echo $(($COUNT*100/$LIMIT)) # % percentage %
    let COUNT=$COUNT+1
    sleep 1
    done | zen_dialog --title="Cycles: $count_cycle" --progress --auto-close \
           --text="Time to $TASK ($(($LIMIT/$minute)) Mins)...\t"
    return $?
}
 
function zen_alert()
{
    play "$audio_warning" & # Decomment if you want a sound warning.
    zen_dialog --title="Cycles: $count_cycle" --question \
    --text="Time to $1 has Finished!\nShall I Continue?"
    return $?
}
 
function zen_dialog()
{
    /usr/bin/env zenity "$@"
}
 
function __main__()
{
    count_cycle=1
    starting_dialog || exit
    while true
    do    
        tomatoe_timer "Working"  $s_working 
        zen_alert     "Working"  || exit
        tomatoe_timer "Slacking" $s_resting
        zen_alert     "Slacking" || exit
        let count_cycle=$count_cycle+1
    done
}
 
## Run script...
__main__

Initial URL
http://identi.ca/ksaver

Initial Description


Initial Title
A simple timer to apply The Pomodoro Technique

Initial Tags
Bash

Initial Language
Bash