blob: e400b8e5e36bcdebcc288dc61a5f0e4e3e9fd216 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/sh
output_text () {
notify-send "$1" "$2"
printf "%s\n" "$2"
}
printhelp () {
printf "scrshot: takes a screenshot and saves to a filename.\n"
printf "\tw) force wayland backend\n"
printf "\tx) force x backend\n"
printf "\td X) provide X as arg to dmenu\n"
printf "\ts X) provide X as arg to screenshot util\n"
printf "\to X) save file to X\n"
exit 1
}
while getopts "wxd:s:o:" o; do case "${o}" in
w)
SCRSH="grim"
;;
x)
SCRSH="maim"
;;
d) DARG="$OPTARG" ;;
s) SARG="$OPTARG" ;;
o) FILENAME="$OPTARG" ;;
*) printhelp ;;
esac done
if [ -z "$SCRSH" ]; then
if [ -n "$WAYLAND_DISPLAY" ]; then
SCRSH="grim"
elif [ -n "$DISPLAY" ]; then
SCRSH="maim"
else
output_text "Stuck" "Can't tell if Wayland or X, what gives?"
exit 1
fi
fi
sleep 0.3
TEMPNAME="$(mktemp -u | xargs basename)"
TEMPFILE="${TEMPNAME#tmp.}.png"
sleep 0.1
"$SCRSH" ${SARG:+"$SARG"} "$TEMPFILE"
if [ -z "$FILENAME" ]; then
FILENAME="$(echo "$TEMPFILE" | dmenu ${DARG:+"$DARG"} -p "What to name the file?")"
if [ -z "$FILENAME" ]; then
rm -rf "$TEMPFILE"
output_text "Deleted" "No filename selected, file deleted!"
exit
fi
fi
mv "$TEMPFILE" "$FILENAME"
|