KM Presents Dynamic Choices for Location of Found Image Conditions

Basically the options for FoundImage are inconsistent in one of my macros, and present more options for FoundImage instance, and not the other.

"front window's screen" vs. "front window"
and many more options are displayed for the one with the "front window's screen"

Sidenote: this may have something to do with image searches being done for "all screens" being more accurate, but I don't know for sure.

I don't understand your issue.
The screen shot shows the same options for both choices.

Please post an annotated screenshot that clearly shows the issue.

They are not the same option, although they may look like it. Tbh, this one is more for the developers.

Here's the first one:

Here's the second one:

Same FoundImage, in the same if/else statement.

Is that the entire If statement? I'm not seeing this.

Condition 1:

Condition 2:

I tried every variation of the If statement (If any of the following are true, if all of the following are true, etc...). Are you setting another condition as well? Maybe that's when the bug appears.

Also, version may play a role. I'm on version 9.2.

try using find in Area to reduce where KM looks for the image

Running latest version.

But that’s an interesting point.

What if you add a third option? Same result? The bug appears on the third instance of FoundImage from within the same if else statement, all conditions must return true, and they are all FoundImage conditions.

On my laptop, I consistently get the short version. It (kind of) makes sense since I only have one screen.
so all the "screen" options except "main screen are not displayed and can't be selected.

So it may be that KM removes the multiple screen options on single screen computers.

Very interesting, this makes a lot of sense. It's possible that at the time, Keyboard Maestro recognized my iPad as another display (even though I rarely use it) and for that reason presented more options while editing my macro...?

But this behavior is inconsistent when editing/syncing macros across multiple devices, or when editing/syncing macros after disconnecting those displays.

For that reason the lengthier list of options should be the default, in my opinion.

If I add a 3rd Found Image conditional I still get all options on all 3 conditions.

1 Like

@joe, I don't see any evidence of a bug here.
@kvanh has clearly shown that regardless of which "in" you choose, the options presented are the same.

I can confirm this behavior on my Mac.

So, based on that, I'm changing this topic title:

"[Bug] Inconsistent FoundImage Options"

"Understanding How to Use Found Image Conditions"

If you can later clearly demonstrate a bug, I'll be happy to change it to include "Bug Report".

I mean, it’s still a bug. It’s present in my software, which I also paid for, whether or not it’s present in yours. The bug’s trigger however isn’t clear and doesn’t dramatically affect workflow.

As a developer, I understand your prodding for more details, but I don’t understand your gatekeeper mentality and somewhat robotic responses.

Thanks though.

Then please show us a clear example of the "bug". Please clearly annotate a screen shot that shows the issue.

To be clear, there is a difference between how you want software to behave, and an actual bug. A bug is when the software does not behave as it was intended to behave by the designer.

Bug Example.kmmacros (3.2 KB)

I've already provided an explanation of the bug and screenshots as requested.

As stated, finding the steps to reproduce bugs are often difficult, especially without access to source code or developer tools. Here's the macro. Let me know if you have any productive thoughts.

finding the steps to reproduce bugs are often difficult, especially without access to source code or developer tools

Very true, and this includes your code (i.e. your macro).

I imported your macro and still don't see the issue. Did you try importing your own macro back in just to see what happens?

I did some other testing as well, for example if I disconnect my 2nd monitor my list drops to the short one, so I tried creating an If where I created the 1st conditional with 2 monitors connected and a 2nd and 3rd with one monitor connected, when I created 2 & 3 I saw the short list but when I re-connected my monitor I saw the long list again on all 3 conditions.

Drop Down 1:

Drop Down 2:

Drop Down 3:

I installed your macro and this is what I see:


No issues. All conditions present the same options.

Sorry, @joe, but until you can present us with an annotated screen shot that clearly shows the issue, as I have ask you for 3 times, I will have to move on to other tasks.

Did you click the bottom the front window selector (last one of the three, to be clear: not front window's screen) that shows fewer options than the top two FoundImage instances?

If it shows less options than the top two, then there you have it.

I've imported this macro onto my Macbook Pro, as well as my iMac Pro, and both reproduce the issue.

Here it is. As you can see, display arrangement is visibly not showing in System Preferences because I'm using one monitor... my all in one iMac Pro. And yet the options persist.

And yes, I did reimport the macro from the download I provided via Keyboard Maestro, and the behavior persists.

Dropdown 1, single display, extended option set:

Dropdown 2, single display, extended option set:

Dropdown 3, single display, limited option set:

Not sure I can really annotate much more. Not sure it's even worth troubleshooting any more at this point either.

It is what it is. A slip in the system. I'd be better off recreating the if/else statement at this point and calling it day whenever I see this issue again.

OK, finally after your last post I think I understand the issue:

Here is the type of annotated comparison I was looking for:

So, it is NOT a bug. It is KM dynamically presenting choices based on the number of screens attached to your Mac.

Having said that, perhaps there is a minor bug, @peternlewis:
When there is only one screen on the Mac, the the options shown on the right circled in RED for a "Single Screen" should not appear:

  • all screens
  • screen with index

Perhaps correcting that would eliminate some confusion.

The menu option for screens is dynamic. It shows the options for three or more screens if you have three or more screens, or if the selected option is such that it would not be displayed otherwise. And it shows the options for two or more screens if you have two or more screens or if the option would not be displayed otherwise.

In this case, the first condition has an option of "front window’s screen" which would not normally be visible on a Mac with only a single monitor, which the second one is just "the front window". So the first condition shows the longer menu, and the second condition shows the shorter menu.

Note that the menus are created when the action is first displayed, so even if you change the first condition to "the front window" it will continue to show the longer menu until you reselect the macro.