3 432335a8 2022-02-21 op sshot is a simple script to make a screenshot!
9 1ac9fd60 2022-02-21 op Did you know that getopts is a built-in? The first version of this
10 1ac9fd60 2022-02-21 op script used getopt, but it was ugly and required some shell features
11 1ac9fd60 2022-02-21 op which I'm not sure are POSIX. getopts is easier to handle:
13 432335a8 2022-02-21 op while getopts s name; do
15 432335a8 2022-02-21 op s) select=1 ;;
16 432335a8 2022-02-21 op ?) echo "Usage: $0 [-s]" >&2; exit 1 ;;
20 432335a8 2022-02-21 op The usage is simple, it just accepts a -s flag to select a window
21 432335a8 2022-02-21 op instead of grabbing the whole screen.
23 432335a8 2022-02-21 op The image is saved in /tmp/YYYYMMDDHHMMSS.png
25 432335a8 2022-02-21 op file=/tmp/`date +%Y%m%d%H%M%S`.png
27 432335a8 2022-02-21 op if [ -n "$select" ]; then
28 432335a8 2022-02-21 op maim -su > "$file"
30 432335a8 2022-02-21 op maim -u > "$file"
33 432335a8 2022-02-21 op During the "select" maim aborts if a key is pressed; this however leaves
34 432335a8 2022-02-21 op a zero-byte file around, something I don't really like, so remove it in
37 432335a8 2022-02-21 op if [ $? -ne 0 ]; then
39 432335a8 2022-02-21 op notify-send "sshot: aborted"
43 432335a8 2022-02-21 op Then send a notification to give a feedback of the success
45 432335a8 2022-02-21 op notify-send "sshot: done" "$file"