#!/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