From 1c02807f9aa1bff563ef987ba931927e73268ee6 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Thu, 25 Sep 2025 13:20:39 +0200 Subject: [PATCH] Update .local/bin/screenshot.sh Add .local/bin/old/screenshots_overcomplified.sh --- .../bin/executable_screenshot.sh | 2 +- .../executable_screenshots_overcomplified.sh | 123 ++++++++++++++++++ 2 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 private_dot_local/bin/old/executable_screenshots_overcomplified.sh diff --git a/private_dot_local/bin/executable_screenshot.sh b/private_dot_local/bin/executable_screenshot.sh index f7bd09b..34b4624 100644 --- a/private_dot_local/bin/executable_screenshot.sh +++ b/private_dot_local/bin/executable_screenshot.sh @@ -10,7 +10,7 @@ error_wrong_type="The first argument needs to be \"fullscreen\", \"window\" or \ notification_succes="$target_path saved and copied" notification() { - notify-send -i "$target_path" -u low -a "Screenshot" "Screenshot" "$notification_succes" + notify-send -i "$target_path" -u low -a "Screenshot" "Screenshot saved" "$notification_succes" } # validate input diff --git a/private_dot_local/bin/old/executable_screenshots_overcomplified.sh b/private_dot_local/bin/old/executable_screenshots_overcomplified.sh new file mode 100644 index 0000000..60ac390 --- /dev/null +++ b/private_dot_local/bin/old/executable_screenshots_overcomplified.sh @@ -0,0 +1,123 @@ +#!/bin/bash + +### DEPENDENCIES: +## libnotify +## feh +## grim +## slurp +## satty +## wl-clipboard + +dir_target="$HOME/Obrazy/zrzuty" # where your screenshots are stored +file_name="zrzut_$(date +'%H-%M-%S_%d-%m-%Y').png" # name of your screenshot +file_path="$dir_target/$file_name" # full path combined of the above +tmp_path="/tmp/$file_name" # path of temporary file + +# flags +edit=false # edit after screenshotting +save=false # save to the disk +copy=false # copy to clipboard + +# messages + +error_message="No argument provided. Use -h or --help for help message." +help_message="\nUsage: screenShot [flags] [type-of-screen-shot / color (for color picker)\n\nFlags:\n\t-c | --copy \t Copies to clipboard\n\t-s | --save \t Saves to $dir_target\n\t-e | --edit \t Edit screenshot with swappy\n\nTypes:\n\tfullscreen\n\twindow\n\tregion\n" + +# don't go crazy when directory doesn't exist + +if [[ ! -d $dir_target ]]; then + echo "Target directory does not exist. Creating..." + notify-send "Screenshot" "Target directory does not exist. Creating..." + mkdir -p $dir_target +fi + +# handle flags +while [[ $# -gt 0 ]]; do + case "$1" in + -c | --copy) + copy=true + ;; + -s | --save) + save=true + ;; + -e | --edit) + edit=true + ;; + -h | --help) + echo -e "$help_message" + exit 0 + ;; + fullscreen | window | region | color) + type_of_screenshot="$1" + ;; + *) + echo "$error_message" + exit 1 + ;; + esac + shift +done + +# actually screenshot +case "$type_of_screenshot" in +fullscreen) + grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path" + ;; +window) + active_window_position="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .at')" + active_window_size="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .size')" + + x=$(echo "$active_window_position" | jq '.[0]') + y=$(echo "$active_window_position" | jq '.[1]') + width=$(echo "$active_window_size" | jq '.[0]') + height=$(echo "$active_window_size" | jq '.[1]') + + grim -g "${x},${y} ${width}x${height}" "$tmp_path" + ;; +region) + grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path" && feh --title screenshot --fullscreen "$tmp_path" & + sleep 0.5 + feh_pid=$(pgrep feh) + grim -g "$(slurp)" "$tmp_path" + echo "Killing feh…" + kill -9 "$feh_pid" + ;; +color) + grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path" && feh --title screenshot --fullscreen "$tmp_path" & + sleep 0.5 + feh_pid=$(pgrep feh) + position=$(slurp -p) + sleep 1.0 + color_hex=$(grim -g "$position" -t ppm - | magick convert - -format '%[pixel:p{0,0}]' txt:- | sed -n '2p' | awk '{print $3}') + wl-copy $color_hex + notify-send "Color picker" "Copied $color_hex to clipboard" + kill -9 "$feh_pid" + exit 0 + ;; + +esac + +case "$copy-$save" in +"true-true") + cp "$tmp_path" "$file_path" + wl-copy <"$tmp_path" + notify-send -i "$tmp_path" "Screenshot" "Copied and saved to $file_path" + ;; +"false-true") + cp "$tmp_path" "$file_path" + notify-send -i "$tmp_path" "Screenshot" "Saved screenshot to $file_path" + ;; +"true-false") + wl-copy <"$tmp_path" + notify-send -i "$tmp_path" "Screenshot" "Copied screenshot" + ;; +"false-false") + if [ "$edit" = "true" ]; then + satty -f "$tmp_path" + fi + ;; +esac + +rm $tmp_path + +exit 0