From b71e4385f5728ac33e48224c42f54135850217c1 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Tue, 22 Aug 2023 16:08:42 +0200 Subject: scst: Add a screenshotting utility --- .local/bin/scst | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 .local/bin/scst (limited to '.local') diff --git a/.local/bin/scst b/.local/bin/scst new file mode 100755 index 0000000..6b63009 --- /dev/null +++ b/.local/bin/scst @@ -0,0 +1,40 @@ +#!/bin/sh + +set -e + +notify() { + notify-send -a ${0##*/} -i "$filename" 'Screenshot copied' \ + 'Screenshot successfully copied to the clipboard' +} + +if [ $# -eq 1 -a "$1" = "-f" ]; then + fflag=true + shift +fi + +[ $# -ge 1 ] && { + echo "Usage: ${0##*/} [-f]" >&2 + exit 1 +} + +outdir=${XDG_PICTURES_DIR:-$HOME/Pictures}/screen +filename="$outdir/`date +%F_%T.png`" +[ -d "$outdir" ] || mkdir -p "$outdir" + +if ${fflag:-false}; then + grim "$filename" +else + slurp 2>/dev/null | ifne grim -g - "$filename" +fi + +[ -f "$filename" ] || exit 1 + +printf 'Copy screenshot\nEdit- and copy screenshot\n' \ + | osel \ + | if read res && [ "$res" = 'Copy screenshot' ]; then + wl-copy <"$filename" + notify + elif [ "$res" = 'Edit- and copy screenshot' ]; then + swappy -f "$filename" -o - | pee wl-copy cat | sponge "$filename" + notify + fi -- cgit v1.2.3