#!/bin/sh # Quick screenshot helpers for Hyprland. Captures via grim, saves to disk and # also copies to the Wayland clipboard. Use the flameshot binding for # annotations / fancy capture. # # Usage: screenshot {full|region|output|window} set -eu mode="${1:-full}" dir="$HOME/Pictures/Screenshots" mkdir -p "$dir" file="$dir/$(date +%Y%m%d_%H%M%S).png" case "$mode" in full) grim "$file" ;; region) grim -g "$(slurp)" "$file" ;; output) out=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') grim -o "$out" "$file" ;; window) geom=$(hyprctl activewindow -j \ | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"') grim -g "$geom" "$file" ;; *) printf 'Usage: %s {full|region|output|window}\n' "$0" >&2 exit 1 ;; esac wl-copy < "$file" notify-send "Screenshot saved" "$file" -i image-x-generic >/dev/null 2>&1 || true