Sway-config/.config/sway/screenshot.sh
2023-03-26 10:39:57 +02:00

35 lines
879 B
Bash

#!/usr/bin/bash
# This script will take a screenshot
# Dependencies: sway, grim, slurp
FILENAME="$HOME/screenshot-$(date +'%Y-%m-%d-%H%M%S.png')"
case $1 in
all) #Screenshot of all outputs
grim -t jpeg -q 100 $FILENAME ;;
focus) # Screenshot of focused window
geometry=$(
swaymsg -t get_tree |
awk '
BEGIN { ORS=" " };
lines_after&&lines_after-- {print $2};
/focused": true/,/window_rect/ {
if($1=="\"window_rect\":") lines_after=4;
if($1=="\"rect\":") lines_after=2
}' |
awk '{printf "%d,%d %dx%d", $1+$3,$2+$4,$5,$6}')
grim -t jpeg -q 100 -g "$geometry" $FILENAME ;;
choice) #Screenshot von Auswahl
grim -t jpeg -q 100 -g "$(slurp)" $FILENAME ;;
*) #Default: Screenshot of focused output
focused_output="$(
swaymsg -p -t get_outputs |
grep focused |
awk '{print $2}')"
grim -t jpeg -q 100 -o $focused_output $FILENAME ;;
esac
exit 0