Files
hypr/scripts/screenshot/screenshot_area.sh
T
2026-08-14 12:41:06 +00:00

36 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
###
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
###
time=$(date +%Y-%m-%d-%H%M%S)
dir="$(xdg-user-dir PICTURES)/Screenshots"
file="Screenshot_${time}.png"
mkdir -p "$dir"
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
geometry=$(slurp) || exit 1
# Capture region, save it and copy to clipboard
grim -g "$geometry" "$dir/$file" || exit 1
wl-copy -t image/png < "$dir/$file"
if command -v notify-send >/dev/null 2>&1; then
notify-send -a Screenshot -i camera-photo "Screenshot saved" "$file"
fi
# Open the editor if satty is available (blocks until it is closed).
# satty writes the annotated image to --output-filename on Ctrl+s (and on
# Esc/Enter here) and exits immediately.
if command -v satty >/dev/null 2>&1; then
satty --filename "$dir/$file" --output-filename "$dir/$file" \
--copy-command wl-copy --actions-on-escape save-to-file --early-exit
wl-copy -t image/png < "$dir/$file"
fi
# Compress the resulting image in the background if oxipng is available
if command -v oxipng >/dev/null 2>&1; then
oxipng --strip safe -o 4 "$dir/$file" &
fi