I'm facing (sorry to say another) action block that is not working as it seems to be intended....
I'm trying to use the "Pause Until Conditions are Met" action in order to pause a macro until an application has finished a certain task which can be determined by the naming on the top bar of a window changes colour from light grey to dark/almost black.
During the process of figuring out why it doesn't work I've noticed that just the action "block" itself doesn't work properly - evidently indicated by the displayed live-message (currently false/currently true).
This can be shown with a simple test:
When I use the "Get" funktion on a plain grey area of the screen and hence capture that position and colour and "any of the following are true" being selected the status message is "currently false"....how's that ? I mean I've just assured that this is true by capturing that exact colour at this exact screen position....!
Now once I change the condition modifier to "is not" the status is "currently true"....sorry but that doesn't make any logical sense to me....do I miss something here ?
This gets even worse and more confusing once I want to use the "darker than" option....
Please post your entire macro and a screen shot of each screen state.
And I'm sorry to say it works exactly as intended for me.
One thing strikes me -- that evaluation appears to be updated constantly, so if you eg press the "Get" button in KM, switch to the app you want to monitor, wait for the pips to finish and the pixel to be registered, then switch back to KM... If the KM interface is now covering that pixel, it could well be "currently false".
Hey Nige_S !
thanks again for chiming in. Unfortunately this is not the case - nothing is covering anything (was conscious about this could be an issue)....even tried it capturing simply a white spot within KM action menus....where btw the shown macro screenshot has been taken from...
As @noisneil says, you need to post a screen shot of your entire desktop, with the action and its current evaluation also showing. Without that this'll get no further than "It doesn't work", "Yes it does", "No it doesn't!", "Yes it does!"...
Wow. That's strange: In order to follow your suggestion of posting the whole screen I've repeated the exact same test just as described capturing the pixel right inside KM (which I did multiple times before creating this thread) and now it worked....
It's the remote equivalent of me standing behind a user and saying "Now show me what the problem is..." -- as soon as I'm watching them, the problem goes away!
Exactly. Could you please keep standing behind me every time I use KM ?
But still investigating what could have happened....is there any chance that this behavior could be related to working on another (external) display than the native built-in Macbook display? This display is rotated to a vertical orientation btw.....maybe there are any known issues using KM on 90°/270° displays ?
perhaps you can try using image instead of pixel since you can control the level of image detection and can have option of highlighting the area ?
Thanks for the highlighting suggestion, macdevign !
I'll try that out.
As further feedback. It indeed DOES have something to do with the display setup. After getting back to my workspace with the horizontal display I've encountered the same problem again - that the "Pause Until" block with pixel condition doesn't work anymore just like described and posted above...
(need to explain that at the time of the "wonder healing" / that it worked again I was trying it out again just using my Macbook screen only....
Out interest, set it up to "fail" again and put the cursor on the pixel concerned. The Cmd-Shift-4 and note the coordinates (you can ESC to avoid the screen cap). How does that match with the numbers in the KM action? And maybe post full screen caps of both/all screens at the time.
Next time I've a chance (ie access to multiple screens) I'll have a go too -- this intrigues me!
Like I've posted before in a similar spot the block status itself is wrong.
See this for reference:
The red arrow indicates the pixel I have chosen by the "Get" button.
As you see the status shows "currently false" although I've just captured this exact pixel ! Btw pressing the "Go" button brings me exactly to that pixel which - of course - is supposed to cause the status changing to "true".....especially with the chosen condition of "The pixel at [...] is"
Unfortunately I can't find a useful application for this - I thought I could take a screenshot of a certain area that changes after the process I want to take as a condition event and put it into the "Image:" field in order to make KM recognize this screen snippet. Which would have been a cool alternative since the process is something like a rendering (just for Audio) which has a small "in progress" window anyway during the process....but unfortunately the "contains image" seems to expect that particular file being part of the screen - which is not the same as this crop of a screenshot. KM seems to look for the embedded file instead of the image as a certain arrangement of pixels...but that's just a supposition....
And like I've posted before, full-screen captures of both/all your screens might help us work out what's going on. It isn't that slim sliver of screen that'll help -- that's obviously wrong, the question is why, and since none of us can come round your house and eyeball the problem then screen caps is the best that can be done. And do the displayed coordinates when using Cmd-Shift-4 match up with what the KM dialog is showing you?
You think it's something to do with your display setup, and I suspect you are right. But what the problem is -- that's a another question. Maybe seeing coordinates, your desktop setup, menu bar position, etc will give someone here a clue as to what's happening.
Try Cmd-Ctrl-Shift-4, then drag out over the area of interest -- that'll put the picture on your clipboard. You can then click in the "Image" area in the action and paste.