From 025a0aa564df2cb92533945f8d8e7fe36f07bfac Mon Sep 17 00:00:00 2001 From: Misha Zavertkin Date: Sun, 2 Jun 2024 20:08:33 +0700 Subject: [PATCH] Close #42 --- hyprshot | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/hyprshot b/hyprshot index 7d2b593..122d92e 100755 --- a/hyprshot +++ b/hyprshot @@ -52,7 +52,7 @@ function send_notification() { return 0 fi - local message=$([ $CLIPBOARD -eq 1 ] && \ + local message=$([ -z "$1" ] && \ echo "Image copied to the clipboard" || \ echo "Image saved in ${1} and copied to the clipboard.") notify-send "Screenshot saved" \ @@ -105,23 +105,30 @@ function save_geometry() { local geometry="${1}" local output="" - if [ $RAW -eq 1 ]; then - grim -g "${geometry}" - - return 0 - fi + local SCREEN_COMMAND='grim -g '"'${geometry}'"' -' if [ $CLIPBOARD -eq 0 ]; then - mkdir -p "$SAVEDIR" - grim -g "${geometry}" "$SAVE_FULLPATH" output="$SAVE_FULLPATH" - wl-copy < "$output" - [ -z "$COMMAND" ] || { - "$COMMAND" "$output" - } - else - wl-copy < <(grim -g "${geometry}" -) + SCREEN_COMMAND="$SCREEN_COMMAND"' | tee '"'$SAVE_FULLPATH'" + fi + + SCREEN_COMMAND="$SCREEN_COMMAND"' | tee >(wl-copy)' + + if [ ! -z "$COMMAND" ]; then + SCREEN_COMMAND="$SCREEN_COMMAND"'| tee >('"$COMMAND" + if [ ! -z "$output" ]; then + SCREEN_COMMAND="$SCREEN_COMMAND"' '"$output" + fi + SCREEN_COMMAND="$SCREEN_COMMAND"')' + fi + + if [ $RAW -eq 0 ]; then + SCREEN_COMMAND="$SCREEN_COMMAND"' > /dev/null' fi + Print "Executing %s\n" "$SCREEN_COMMAND" + eval "$SCREEN_COMMAND" + send_notification $output }