diff options
author | frosty <passedgoandgot200@disroot.org> | 2025-07-04 07:07:06 -0400 |
---|---|---|
committer | frosty <passedgoandgot200@disroot.org> | 2025-07-04 07:07:06 -0400 |
commit | 0a70b07e4bb0d22d8762697ff863cf87179f9731 (patch) | |
tree | a08e4d448d867f4e904314798e0f9d3f89fe48d2 /.local/bin/screenshot | |
parent | 9be23514542ab9aedb6fb465301cba7a134fd4eb (diff) | |
download | dotfiles-0a70b07e4bb0d22d8762697ff863cf87179f9731.tar.gz dotfiles-0a70b07e4bb0d22d8762697ff863cf87179f9731.zip |
add scripts
Diffstat (limited to '.local/bin/screenshot')
-rwxr-xr-x | .local/bin/screenshot | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.local/bin/screenshot b/.local/bin/screenshot new file mode 100755 index 0000000..419e70f --- /dev/null +++ b/.local/bin/screenshot @@ -0,0 +1,36 @@ +#!/bin/sh + +set -eu + +[ -f "$XDG_CONFIG_HOME/user-dirs.dirs" ] && + . "$XDG_CONFIG_HOME/user-dirs.dirs" + +OUTPUT_PATH="${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}/$(date +'%Y%m%d_%H%M%S').png" + +SELECT=0 +GEOM= + +while [ "$#" -ne 0 ]; do case "$1" in + -s | --select) SELECT=1; shift ;; + *) exit 1 ;; +esac; done + +if [ "$SELECT" -eq 1 ]; then + GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp -o) + [ -z "$GEOM" ] && exit 1 +fi + +set -- grim +[ -n "$GEOM" ] && set -- "$@" -g "$GEOM" +set -- "$@" "$OUTPUT_PATH" + +makoctl mode -a dnd >/dev/null +"$@" +makoctl mode -r dnd >/dev/null +wl-copy -t image/png <"$OUTPUT_PATH" + +case "$(notify-send \ + -A upload="Upload to image host" \ + "screenshot" "Screenshot taken and saved to <b>${OUTPUT_PATH##*/}</b>.")" in +*) ;; +esac |