26
|
1 |
|
|
2 |
# Takes several screen shots in a raw |
|
3 |
# For usage, see shoot-screen -h |
|
4 |
# |
|
5 |
# MiKael, 2012-08 |
|
6 |
|
|
7 |
function shoot-screen() { |
|
8 |
local prefix="screenshot-" |
|
9 |
local ext="jpg" |
|
10 |
local delay=4 |
|
11 |
local opt |
|
12 |
local usage=0 |
|
13 |
|
|
14 |
while getopts "hp:e:d:" opt; do |
|
15 |
case "$opt" in |
|
16 |
(p) prefix=$OPTARG;; |
|
17 |
(e) ext=$OPTARG;; |
|
18 |
(d) delay=$OPTARG;; |
|
19 |
(h) usage=1; break;; |
|
20 |
(*) usage=2; break;; |
|
21 |
esac |
|
22 |
done |
|
23 |
|
|
24 |
if (( usage != 0 )); then |
|
25 |
print "Usage: $0 [-h] [-p prefix] [-e extension] [-d delay]" >&2 |
|
26 |
if (( usage == 1 )); then exit 0; fi |
|
27 |
exit -1 |
|
28 |
fi |
|
29 |
|
|
30 |
local n=0 |
|
31 |
while :; do |
|
32 |
print -n 'Press Enter (type "quit" to leave) > ' |
|
33 |
read l |
|
34 |
if [[ $l == "q" || $l == "quit" ]]; then break; fi |
|
35 |
print -n "Get ready (waiting for $delay seconds)..." |
|
36 |
sleep $delay |
|
37 |
local filename |
|
38 |
while :; do |
|
39 |
(( n = n+1 )) |
|
40 |
filename=$(printf "%s%03d.%s" $prefix n $ext) |
|
41 |
[[ -f $filename ]] || break |
|
42 |
done |
|
43 |
print "\nCapture: $filename" |
|
44 |
import $filename |
|
45 |
if [[ $? != 0 ]]; then exit $?; fi |
|
46 |
print |
|
47 |
done |
|
48 |
} |