#!/bin/sh set -e export NOTIFY_LONG=screenshot export NOTIFY_SHORT="${0##*/}" xnotify() { notify 'Screenshot Copied' \ 'Screenshot successfully copied to the clipboard' \ -i "$filename" } if [ $# -eq 1 -a "$1" = "-f" ] then fflag=true shift fi if [ $# -ge 1 ] then echo "Usage: ${0##*/} [-f]" >&2 exit 1 fi readonly outdir=${XDG_PICTURES_DIR:-$HOME/Pictures}/screen readonly filebase=$(date +%F_%T.png) readonly filename="$outdir/$filebase" [ -d "$outdir" ] || mkdir -p "$outdir" if ${fflag:-false} then grim "$filename" else slurp 2>/dev/null | ifne grim -g - "$filename" fi [ -f "$filename" ] || exit 1 opt="$(printf 'Copy screenshot\nEdit- and copy screenshot\n' | { osel || true; })" case "$opt" in 'Copy screenshot') wl-copy <"$filename" xnotify ;; 'Edit- and copy screenshot') swappy -f "$filename" -o - | pee wl-copy cat | sponge "$filename" xnotify ;; *) notify 'Screenshot Saved' \ "The screenshot ‘$filebase’ was successfully saved" \ -i "$filename" esac