#!/bin/sh tmp="${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}}" tmp="$(mktemp -d "${tmp}/freezhot.XXXX")" out="${GRIM_DEFAULT_DIR:-${XDG_PICTURES_DIR:-.}}" note() { : "${1:?}" command -v notify-send > /dev/null && notify-send "󰩬 freezshot" "$1" } die() { printf "\033[31;1merr: %b\033[0m\n" "$1" 1>&2 exit "${2:-1}" } dep_check() { for dep; do command -v "$dep" > /dev/null || die "$dep is not installed" 127 done unset dep } wl_res() { wlr-randr | while read -r line; do case "$line" in *"current)") echo "${line% px*}" return esac done } ######## # MAIN # ######## dep_check grim slurp imv wlr-randr [ -d "$out" ] || mkdir -p "$out" GRIM_DEFAULT_DIR="$tmp" grim imv -f "$tmp"/* & view_pid=$! if region=$(slurp) > /dev/null 2>&1; then if [ "${region#* }" = "$(wl_res)" ]; then cp "$tmp"/* "$out" else grim -g "$region" fi fi kill $view_pid rmdir "$tmp"