#!/bin/sh
set -eu

mode=${1:-full}
pictures=$(xdg-user-dir PICTURES 2>/dev/null || true)
[ -n "$pictures" ] || pictures="$HOME/Pictures"
directory="$pictures/Screenshots"
mkdir -p "$directory"
file="$directory/$(date +%Y-%m-%d_%H-%M-%S).png"

case "$mode" in
    full)
        grim "$file"
        ;;
    region)
        geometry=$(slurp) || exit 0
        [ -n "$geometry" ] || exit 0
        grim -g "$geometry" "$file"
        ;;
    edit)
        geometry=$(slurp) || exit 0
        [ -n "$geometry" ] || exit 0
        grim -g "$geometry" "$file"
        swappy -f "$file"
        ;;
    *)
        echo "usage: $0 [full|region|edit]" >&2
        exit 2
        ;;
esac

printf '%s\n' "$file"
