Lines 1-7
Link Here
|
1 |
#!/bin/sh |
1 |
#!/bin/sh |
2 |
|
2 |
|
3 |
PATH=/bin:/usr/bin:/usr/local/bin |
|
|
4 |
|
5 |
xwdcommon='-nobdrs' |
3 |
xwdcommon='-nobdrs' |
6 |
xwdroot='-root' |
4 |
xwdroot='-root' |
7 |
|
5 |
|
Lines 10-18
Link Here
|
10 |
STOREDIR="${HOME}/.screenshots" |
8 |
STOREDIR="${HOME}/.screenshots" |
11 |
SHOTDATE="$(date +%Y.%m.%d-%H.%M.%S)" |
9 |
SHOTDATE="$(date +%Y.%m.%d-%H.%M.%S)" |
12 |
|
10 |
|
|
|
11 |
have() |
12 |
{ |
13 |
type $1 >/dev/null 2>&1 && return 0 |
14 |
} |
15 |
|
13 |
parse_options() |
16 |
parse_options() |
14 |
{ |
17 |
{ |
15 |
local OPT OPTARG OPTIND fmt fmtlist i |
18 |
local OPT OPTARG OPTIND fmt fmtlist prefix |
16 |
|
19 |
|
17 |
while getopts d:f:bhlqs OPT; do |
20 |
while getopts d:f:bhlqs OPT; do |
18 |
# escape meta |
21 |
# escape meta |
Lines 26-51
Link Here
|
26 |
unset INFMT |
29 |
unset INFMT |
27 |
|
30 |
|
28 |
for fmt in pnm pbm pgm ppm; do |
31 |
for fmt in pnm pbm pgm ppm; do |
29 |
if [ -x /usr/local/bin/${fmt}to${OUTFMT} ]; then |
32 |
have "${fmt}to${OUTFMT}" && { INFMT=${fmt}; break; } |
30 |
INFMT=${fmt} |
|
|
31 |
break |
32 |
fi |
33 |
done |
33 |
done |
34 |
|
34 |
|
35 |
[ -z "${INFMT}" ] && usage |
35 |
[ -z "${INFMT}" ] && usage |
36 |
;; |
36 |
;; |
37 |
l) |
37 |
l) |
38 |
for i in /usr/local/bin/p[nbgp]mto*; do |
38 |
prefix=$(type ppmtoppm 2>/dev/null | \ |
39 |
fmtlist="${fmtlist} $(echo ${i} | \ |
39 |
sed 's:ppmtoppm is \(.*\)ppmtoppm:\1:') |
40 |
sed -Ee's:/usr/local/bin/(pnm|pbm|pgm|ppm)to::')" |
40 |
if [ -z "${prefix}" ]; then |
41 |
done |
41 |
echo 'Cannot find image converters. Make sure that netpbm are installed' |
|
|
42 |
exit 1 |
43 |
fi |
44 |
|
45 |
fmtlist=$(echo ${prefix}/p[nbgp]mto* | tr ' ' '\n' | \ |
46 |
sed -E 's:^.*/(pnm|pbm|pgm|ppm)to::g') |
42 |
echo Supported output formats: |
47 |
echo Supported output formats: |
43 |
echo ${fmtlist} |
48 |
echo ${fmtlist} |
44 |
exit 0 |
49 |
exit 0 |
45 |
;; |
50 |
;; |
46 |
q) xwdcommon="${xwdcommon} -silent";; |
51 |
q) xwdcommon="${xwdcommon} -silent";; |
47 |
s) unset xwdroot ;; |
52 |
s) unset xwdroot ;; |
48 |
h|*) usage ;; |
53 |
*) usage ;; |
49 |
esac |
54 |
esac |
50 |
done |
55 |
done |
51 |
|
56 |
|
Lines 63-69
Link Here
|
63 |
echo ' -q be silent' |
68 |
echo ' -q be silent' |
64 |
echo ' -s interactively choose a window' |
69 |
echo ' -s interactively choose a window' |
65 |
echo |
70 |
echo |
66 |
echo "Screenshots stored in ${HOME}/.screenshots" |
71 |
echo "By default screenshots stored in ${STOREDIR}" |
67 |
echo |
72 |
echo |
68 |
exit 1 |
73 |
exit 1 |
69 |
} |
74 |
} |