#!/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