#!/bin/bash SAVE_DIR="$HOME/Pictures/Screenshots" mkdir -p "$SAVE_DIR" FILENAME="$SAVE_DIR/screenshot_$(date +"%Y-%m-%d_%H-%M-%S").png" capture_full_screen() { grim "$FILENAME" } capture_selection() { # Use slurp to select region region=$(slurp) grim -g "$region" "$FILENAME" } capture_window() { window_geometry=$(swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"') grim -g "$window_geometry" "$FILENAME" } case "$1" in --full) capture_full_screen ;; --select) capture_selection ;; --window) capture_window ;; *) echo "Invalid option. Usage: screengrab [--full|--select|--window]" exit 1 ;; esac wl-copy < "$FILENAME" && notify-send "Screengrab" "Screenshot copied to clipboard"