diff --git a/bin/omarchy-capture-text-extraction b/bin/omarchy-capture-text-extraction index 4b49b16bf9..fa215505f8 100755 --- a/bin/omarchy-capture-text-extraction +++ b/bin/omarchy-capture-text-extraction @@ -6,6 +6,7 @@ # Keep hyprpicker alive until after grim captures so the screenshot sees the # frozen overlay rather than live content shifting during teardown. + cleanup_freeze() { [[ -n $PID ]] && kill $PID 2>/dev/null } @@ -14,11 +15,24 @@ trap cleanup_freeze EXIT hyprpicker -r -z >/dev/null 2>&1 & PID=$! sleep .1 -SELECTION=$(slurp 2>/dev/null) +SELECTION=$(slurp 2>/dev/null) [[ -z $SELECTION ]] && exit 0 -TEXT=$(grim -g "$SELECTION" - | tesseract stdin stdout --oem 1 --psm 6 -l "${OMARCHY_OCR_LANGS:-eng}" --dpi 300 -c preserve_interword_spaces=1 2>/dev/null) || exit 1 +LANGS=$(tesseract --list-langs 2>/dev/null | tail -n +2 | paste -sd+ -) + +[[ -z "$LANGS" ]] && LANGS="eng" + +TEXT=$( + grim -g "$SELECTION" - | \ + tesseract stdin stdout \ + --oem 1 \ + --psm 6 \ + --dpi 300 \ + -l "$LANGS" \ + -c preserve_interword_spaces=1 \ + 2>/dev/null +) || exit 1 [[ -z $TEXT ]] && exit 1