dotfiles/.local/bin/jptesseract

29 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/bash
# Delay between running the command and flameshot launching
DELAY=$1
# Make the temp directory if it doesn't already exist
mkdir -p /tmp/jptesseract;
# flameshot is currently unable to only send output to stdout
# If we use flameshot gui --raw, we will send output to stdout and
# attempt to write a .png file. We **do not** want this .png file, since we can't
# easily predict the file name. Omitting --path causes a file explorer dialog to appear
# upon save. Writing to /dev/null is not allowed either, so our only option is to write them
# to somewhere we don't care about.
mkdir -p /tmp/jptesseract/.useless;
# Make sure we're in the right $PWD
cd /tmp/jptesseract || exit;
# Screenshot with flameshot, save to /tmp directory
if flameshot gui -d "$DELAY" -r --path /tmp/jptesseract/.useless > /tmp/jptesseract/jp_text_image.png; then
# Read from /tmp directory with Tesseract
tesseract -l jpn -c preserve_interword_spaces=1 /tmp/jptesseract/jp_text_image.png /tmp/jptesseract/jp_output
# Remove \f which will be present at the end of jp_output
tr -d '\f' < /tmp/jptesseract/jp_output.txt | xclip -selection clipboard;
fi