--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/zshrc.d/30-functions-shoot-screen.zrc Mon Aug 06 22:44:48 2012 +0200
@@ -0,0 +1,48 @@
+
+# Takes several screen shots in a raw
+# For usage, see shoot-screen -h
+#
+# MiKael, 2012-08
+
+function shoot-screen() {
+ local prefix="screenshot-"
+ local ext="jpg"
+ local delay=4
+ local opt
+ local usage=0
+
+ while getopts "hp:e:d:" opt; do
+ case "$opt" in
+ (p) prefix=$OPTARG;;
+ (e) ext=$OPTARG;;
+ (d) delay=$OPTARG;;
+ (h) usage=1; break;;
+ (*) usage=2; break;;
+ esac
+ done
+
+ if (( usage != 0 )); then
+ print "Usage: $0 [-h] [-p prefix] [-e extension] [-d delay]" >&2
+ if (( usage == 1 )); then exit 0; fi
+ exit -1
+ fi
+
+ local n=0
+ while :; do
+ print -n 'Press Enter (type "quit" to leave) > '
+ read l
+ if [[ $l == "q" || $l == "quit" ]]; then break; fi
+ print -n "Get ready (waiting for $delay seconds)..."
+ sleep $delay
+ local filename
+ while :; do
+ (( n = n+1 ))
+ filename=$(printf "%s%03d.%s" $prefix n $ext)
+ [[ -f $filename ]] || break
+ done
+ print "\nCapture: $filename"
+ import $filename
+ if [[ $? != 0 ]]; then exit $?; fi
+ print
+ done
+}