dotfiles-scripts/ScreenShot/screengrab

41 lines
815 B
Plaintext
Raw Permalink Normal View History

2024-09-23 14:48:57 +02:00
#!/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() {
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"