Yes, this has been a recurring issue with Found Image actions in KM 9, even before Catalina was released. I believe that usually, changing the Found Image setting from "Unique" to "Best" fixes it.
gglick, THANK YOU.... It seems all my "found image" macros were not working after Catalina... only had to change it to BEST and it works like it use to.
Is this a bug? Is there a way to have BEST be the default?
The easy solution is to switch it to “best”, but it is not the best solution.
If “best” works, and if the best solution is significantly better than any other (which was required for it to work in version 8), then adjusting the fuzz and leaving it as “unique” is the correct solution.
Keyboard Maestro 8 did not have an option for best, it only had unique, but it relaxed the meaning of “unique” in the case where the best match was significantly better than all others. Keyboard Maestro 9 does not have this relaxed meaning, so you should adjust the fuzz to a level between the best match fizz and the next best, which should be easy to do since the match has to be significantly better than any other or it would not have worked before.
I think that is exactly what is causing a problem with so many users who had "Found Image" actions/conditions that worked very well for them in KM8, but suddenly failed upon upgrade to KM9.
Perhaps we need three settings for "Found Image":
Unique
Almost Unique (works just like KM8 Unique setting)
Best
There might be a better term than "Almost Unique", maybe "Much Better than Others".
However, after running the macro several more times Catalina finally asked me whether KM is allowed to record the contents of the screen (I could not find a way to manually add it).
After allowing that, my macro worked with the original settings
Since upgrading to Catalina my macros that work relative to a screen image no longer work also. The following is an example action:
I have tried resetting the "Accessibility" permissions for both Keyboard Maestro and Keyboard Maestro Engine as suggested here (e.g. removing and readding the checkboxes, and also completely removing the entries via '-' and readding), all without success. The issue appears to be a lack of permission to the screen recorder based on the following log entry when the macro with the above action is run:
2020-01-02 12:22:53 HScreenArea::CaptureCGImage failed to capture front window
2020-01-02 12:22:53 Move or Click Mouse no unique image found.
A view of my Privacy: Screen Recording configuration attached shows that it is empty, and therefore no option to enable access to Keyboard Maestro. I have no idea how to enable this manually. Should Keyboard Maestro be showing, and enabled here, like it is in the "Accessibility" section? If so, how is this done? If not, then can you offer any suggestions to get my macros working again under Catalina?
... a further update. I have since tried resetting all the Accessibility options via the shell command. That did not work. I then tried a complete uninstall of KM 9.0.4 and reinstall. That did not work.
I have now discovered that some other macros of mine that interact with the screen are not working. A key log entry from one of those is:
2020-01-02 22:46:04 Manipulate Window failed to evaluate SCREENVISIBLE(External,Left) + g004__window_left
This log entry again points to some permissions issue between KM 9.0.4 and Catalina 10.15.2 but I really don't know. All I know is that macros that were working fine before installing Catalina were working fine and now aren't.
Thanks for your suggestion @hello. Yes, in fact I did soon after my last post and he replied immediately with a successful workaround, advising to run the Screen Capture to Clipboard Action:
Doing this coerced Catalina’s absurd permission system to let KM have access to the Screen Recorder, after which everything worked again.
So it looks like some things that require Screen Recording prompt for the permission, and other things that require Screen Recording permissions just silently fail. Sounds about right for Apple’s security mechanisms. Sigh.
I will report it to Apple, but given they have not fixed the Accessibility permissions issues from Mojave yet, and made them worse in Catalina, I wont hold my breath.