I am also on Linux and experienced [#6 ] in a big way. Enabling this plugin made my laptop unresponsive for an hour as hundreds of tesseract processes started simultaneously. Here is how I tackled that:
created a setting for Max OCR Processes
added the 'async' module and created the OCRQueue class that uses it, controlled by the setting
created a queue processor that calls processFile(file) based on the queue of files
changed the existing calls from processFile(file) to enqueueFile(file)
refactored some of the file checking logic into FileUtils in the isFileOCRable(file) function
moved the status bar addition to enqueueFile and the removal at the end of the processor
This has been tested on Linux and I can test on MacOS as well. I'm hoping it works on Windows but I don't know one way or another. I tried to do things as closely in style as the existing code as I am capable of but feel free to refactor if you prefer something different. I set up OCRQueue with everything as static members of the class so that it is a singleton. I originally instantiated it as an object but that was kind of a drag so I changed it to this to be roughly analogous to how you are using the SettingsManager.
If you don't use my code, please use something along this lines. I will say this changed the plugin from a problem to wonderful on my Linux machine. This puts back the one Evernote feature that I really miss.
I am also on Linux and experienced [#6 ] in a big way. Enabling this plugin made my laptop unresponsive for an hour as hundreds of tesseract processes started simultaneously. Here is how I tackled that:
This has been tested on Linux and I can test on MacOS as well. I'm hoping it works on Windows but I don't know one way or another. I tried to do things as closely in style as the existing code as I am capable of but feel free to refactor if you prefer something different. I set up OCRQueue with everything as static members of the class so that it is a singleton. I originally instantiated it as an object but that was kind of a drag so I changed it to this to be roughly analogous to how you are using the SettingsManager.
If you don't use my code, please use something along this lines. I will say this changed the plugin from a problem to wonderful on my Linux machine. This puts back the one Evernote feature that I really miss.