#!/usr/bin/env bash set -o nounset set -o pipefail if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace fi FOCUSED=$(swaymsg -t get_tree | jq '.. | (.nodes? // empty)[] | select(.focused) | .rect | "\(.x),\(.y) \(.width)x\(.height)"') main() { rect="$(slurp)" if [ $? -eq 0 ]; then grim -g "$rect" ~/screenshot.png else grim -g "$(eval echo "$FOCUSED")" ~/screenshot.png fi cat ~/screenshot.png | wl-copy -t image/png } main "$@"