#!/bin/sh set -eu [ -f "$XDG_CONFIG_HOME/user-dirs.dirs" ] && . "$XDG_CONFIG_HOME/user-dirs.dirs" OUTPUT_PATH="${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}/$(date +'%Y%m%d_%H%M%S').png" SELECT=0 GEOM= while [ "$#" -ne 0 ]; do case "$1" in -s | --select) SELECT=1; shift ;; *) exit 1 ;; esac; done if [ "$SELECT" -eq 1 ]; then GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp -o) [ -z "$GEOM" ] && exit 1 fi set -- grim [ -n "$GEOM" ] && set -- "$@" -g "$GEOM" set -- "$@" "$OUTPUT_PATH" makoctl mode -a dnd >/dev/null "$@" makoctl mode -r dnd >/dev/null wl-copy -t image/png <"$OUTPUT_PATH" case "$(notify-send \ -A upload="Upload to image host" \ "screenshot" "Screenshot taken and saved to ${OUTPUT_PATH##*/}.")" in *) ;; esac