KM 10.0.1 Progress Bar Positioning

I think this is a question that only @peternlewis can answer:

Is there any control over the positioning of the new KM 10 Progress Bar Window? Ideally I think it should default to centre of screen but at the moment, it remembers its last position so if it is inadvertently dragged it reappears at that new place next time.

I tried using the new KM 10 Action Position Next Engine Window (10.0.1) to Centre the Progress Bar and that does reposition the Progress Bar but seemingly into a different place each time the Macro is run.

image

Have you tested what happens to the window when the KM engine is restarted? That would tell you if the "memory" of the window's position is stored in the engine's volatile memory.

1 Like

Thanks for the idea @Sleepy. No, that makes no difference, the Progress Bar Window pops up wherever it was last dragged to - so, it is retaining that info between restarts.

My thought is that the Progress Bar should always be in the centre of screen and should default to that - as a Mac OS Progress Bar would.

Well, since the position is remembered across reboots of the Engine, that tells us that the position is stored in a KM configuration file. Now all we have to do is find that location and edit it! Objective achieved!

For what it's worth, I disagree entirely. I'd love to be able to always have it away from the centre of whatever I'm actively trying to work with.

To me this makes the current behaviour desirable. Hard to please everybody!

I agree. That's why I hoped the Action "Center Next Keyboard Maestro Engine Window" would be able to do this for me - without altering the native "Progress Bar" Action's behaviour.

I like it that the User Prompts remember their last position. But when I want them to pop into the Center the "Center Next Keyboard Maestro Engine Window" does that for me.

My apologies, I apparently skim read your OP. That does seem like it would be useful.

No apology needed! I like your test Macro for the Progress Bar by the way. I've also been playing around with the best way to use this new feature.

What's really nice about this Progress Bar Action is that it sits in the same macro and doesn't involve separate sub macros and it looks like it's really flexible. If you call it more than once in a Macro the first instance is taken over by the next one so, it is a true progress bar.

Next Engine Window Position should work, but in my quick tests it does not do anything for the Progress Window. I'll look in to that.

Otherwise the window should stay wherever you put it.

I did not see any case where it does reposition the Progress Bar but seemingly into a different place each time the Macro is run.

1 Like

From my testing - this happens when I have two monitors connected.

One Monitor (i.e. MacBook) the Next Engine Window Position (set to centre) has no effect on the Progress Bar Window (as you have found).

Two Monitors (desktop with second monitor attached) the Next Engine Window Position (set to centre) makes the Progress Bar Window jump between monitors on each run and sometimes positions the Progress Bar Window in top left corner of second Monitor.

More testing and the random positioning thing with two monitors still happens with the Progress Bar Window even without the Next Engine Window Position Action. But not in every Macro so, there is something more subtle going on. It seems to be when the Macro itself is focussing on the two monitors by restoring window positions for other windows on each. I could try to make an example Macro that shows it happening.

The Progress Window should appear on the front screen (the screen with the front most window), in roughly the same position on the screen.

Yes, I think that maybe something like this is affecting it. If one run of the Macro results in the the second screen being the last screen that was at the front, then the next run is putting the Progress Bar Window on the second screen. But the Macro is always started from a User Prompt Window on the first screen so I would expect the Progress Bar to be on the same screen as the User Prompt that launches it rather than on the second screen.

To clarify - on first run of the Macro (started from first screen) the Progress Bar pops up on the first screen. But on subsequent runs of the same Macro (again started from the first screen) the Progress Bar Window pops up on the second screen (even though the Keyboard Maestro User Prompt Window is on the first screen). The only windows on the second screen are Finder and App Windows that the Macro is restoring.

I think I can construct an Example Macro to demonstrate the behaviour by building a simple Macro to put standard Mac Apps that would be on any system into different positions on two monitors. I know it is very hard to respond to something which is just a description of behaviour...

EDIT - and to add one more observation - at no point is the second monitor the "active" window as the System Dock is always on the first Monitor. Keyboard Maestro is positioning windows on the second monitor using coordinates that relate to the first monitor - in other words an expansion of the first monitor's desktop.

After the Prompt For User Input window finishes, it closes, and brings another application forward. Then the Display Progress window will be opened. So the screen that it opens on will depend on the screen that new front window is on, not the screen the Prompt For User Input window was on.

This is done for 10.0.2.

2 Likes

Yes, that is what I have realised is happening. Maybe I can get around it by somehow shifting focus back to the main monitor before the Macro is run again? I did go and make a demo Macro which seems to confirm this. What makes the behaviour odd (in my view) is that the Prompt always appears on the Main monitor consistently but the progress bar is sometimes on one monitor and sometimes the other. Maybe having the Progress Window work with Position Next Engine Window will also achieve fixing what monitor it appears on?

Anyway, here is the test Macro for completeness:

EXAMPLE Progress Bar Postion on Two Monitors.kmmacros (33.9 KB)
image