diff options
| author | srdusr <trevorgray@srdusr.com> | 2025-09-24 05:25:39 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2025-09-24 05:25:39 +0200 |
| commit | a1627ac743289e768b138f1a60753a62e0869cc4 (patch) | |
| tree | 92ab373442943f621bb26b3b284bb1da90e2923a /unix/utils/screenshot | |
| parent | fdb0eb921205c34fb6ff5728727a097767ffae5a (diff) | |
| download | dotfiles-a1627ac743289e768b138f1a60753a62e0869cc4.tar.gz dotfiles-a1627ac743289e768b138f1a60753a62e0869cc4.zip | |
Update/Overhaul
Diffstat (limited to 'unix/utils/screenshot')
| -rwxr-xr-x | unix/utils/screenshot | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/unix/utils/screenshot b/unix/utils/screenshot deleted file mode 100755 index b209574..0000000 --- a/unix/utils/screenshot +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh - -# === Config: directory for QEMU sockets === -QEMU_SOCK_DIR="/home/$(whoami)/virt/machines" - -# === Send 'print' key to QEMU monitor === -send_print_to_qemu() { - monitor_socket=$(find "$QEMU_SOCK_DIR" -maxdepth 1 -type s -name '*-monitor.socket' | head -n1) - if [ "$monitor_socket" = "" ]; then - echo "No QEMU monitor socket found." - return 1 - fi - echo "Using QEMU monitor socket: $monitor_socket" - if ! printf "sendkey print\n" | socat - UNIX-CONNECT:"$monitor_socket"; then - echo "Failed to send key via socat." - return 1 - fi - echo "Sent 'sendkey print' to QEMU successfully." - return 0 -} - -# === Detect if current window is QEMU (X11 only) === -if [ "$DISPLAY" != "" ] && command -v xprop >/dev/null 2>&1; then - win_id=$(xprop -root _NET_ACTIVE_WINDOW | awk -F' ' '{print $5}') - class=$(xprop -id "$win_id" WM_CLASS 2>/dev/null | awk -F'"' '{print $4}') - if [ "$class" = "qemu-system-x86_64" ]; then - send_print_to_qemu && exit 0 - # if sending fails, optionally fallback or exit anyway - exit 1 - fi -fi -#if command -v hyprctl >/dev/null 2>&1 && command -v jq >/dev/null 2>&1; then -# focused_class="$(hyprctl activewindow -j | jq -r '.class' 2>/dev/null)" -# if [ "$focused_class" = "qemu-system-x86_64" ]; then -# send_print_to_qemu && exit 0 -# fi -#fi - -DIR="$HOME/pictures/screenshots" -OUTPUT_DIR="$HOME/documents/ocr_output" - -# Create the directories if they don't exist -[ ! -d "$DIR" ] && mkdir -pv "$DIR" -[ ! -d "$OUTPUT_DIR" ] && mkdir -pv "$OUTPUT_DIR" - -file="$DIR/screenshot_$(date '+%Y-%m-%d_%H-%M-%S').png" -text_file="$OUTPUT_DIR/ocr_output_$(date '+%Y-%m-%d_%H-%M-%S')" - -copy_to_clipboard() { - if [ "$WAYLAND_DISPLAY" != "" ]; then - wl-copy <"$1" - elif [ "$DISPLAY" != "" ]; then - xclip -selection clipboard -i <"$1" - else - echo "No display server detected. Cannot copy to clipboard." - return 1 - fi -} - -case "$1" in -screen) grim "$file" ;; -output) slurp -o -r | grim -g - "$file" ;; -area) slurp | grim -g - "$file" ;; -output-area) slurp -o | grim -g - "$file" ;; -ocr) slurp | grim -g - "$file" && tesseract "$file" "$text_file" ;; -ocr-clipboard) - slurp | grim -g - "$file" && tesseract "$file" "$text_file" - if [ -f "$text_file.txt" ]; then - copy_to_clipboard "$text_file.txt" - CLIP_STATUS=$? - if [ "$CLIP_STATUS" -eq 0 ]; then - command rm -f "$text_file.txt" - notify-send -t 10000 --app-name "Screenshot" "OCR to Clipboard" "Text copied to clipboard." - echo "OCR output copied to clipboard and file deleted." - else - notify-send -t 10000 --app-name "Screenshot" "Clipboard Copy Failed" "Failed to copy text to clipboard." - echo "Failed to copy text to clipboard." - fi - else - notify-send -t 10000 --app-name "Screenshot" "OCR Error" "OCR process failed." - exit 1 - fi - ;; -*) - echo "Invalid argument" - notify-send -t 10000 --app-name "Screenshot" "Screenshot" "Something went wrong." - exit 1 - ;; -esac - -if [ "$1" = "ocr" ]; then - if [ -f "$text_file" ]; then - notify-send -t 10000 --app-name "Screenshot" "OCR Complete" "Text saved to $text_file" - echo "OCR output saved to: $text_file" - else - notify-send -t 10000 --app-name "Screenshot" "OCR Error" "OCR process failed." - exit 1 - fi -else - notify-send -t 10000 --app-name "Screenshot" "Screenshot" "Saved as $file" - echo "$file" -fi |
