Sunday, March 16, 2008

Timed Screenshots on Mac

When working as a time-based contractor, recording spent time in "time manager" is sometimes problematic and always tedious. It happened to me that at the end of the day I have trouble recalling what tasks did I do and it what proportions. Now maybe this little shell script can help me:

#!/bin/bash 
# Makes screenshots every $PERIOD minutes 
# and puts them into /var/tmp/screens/ directory.  

PERIOD=5  
for ((i=0; i<=10*60/PERIOD; i+=1)); do
    FILENAME=/var/tmp/screens/screen`date +%y%m%d_%H%M`.png
    echo Capturing $FILENAME...
    screencapture $FILENAME
    echo Done, next capture in $(($PERIOD*60)) seconds.
    sleep $(($PERIOD*60))
done