Skip to content

Instantly share code, notes, and snippets.

@mmisono
Created October 2, 2010 13:18
Show Gist options
  • Select an option

  • Save mmisono/607632 to your computer and use it in GitHub Desktop.

Select an option

Save mmisono/607632 to your computer and use it in GitHub Desktop.
function timer(){
local title icon min sec t
min=0
sec=0
t=0
title="Timer"
icon=""
while getopts m:s:t:i: OPT
do
case $OPT in
"m" ) min=$OPTARG
;;
"s" ) sec=$OPTARG
;;
"t" ) title=$OPTARG
;;
"i" ) icon=$OPTARG
;;
* ) echo "Usage: $0 [-t title] [-i icon] [-m min] [-s sec]" 1>&2
return;;
esac
done
t=`expr $min \* 60 + $sec`
if [ $sec -ge 60 ]; then
min=`expr $min + $sec / 60`
sec=`expr $sec % 60`
fi
while [ $t -gt 0 ]
do
if [ $sec -lt 10 ]; then
sec="0$sec"
fi
growlnotify -d 0 --image "$icon" -t "$title" -m "$min:$sec"
if [ `expr $t % 60` -eq 0 ]; then
min=`expr $min - 1`
sec=59
else
sec=`expr $sec - 1`
fi
t=`expr $t - 1`
sleep 1
done
growlnotify -d 0 -t --image "$icon" "$title" -m "END!"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment