That is, in general, the behavior of a KM Macro, with the exception of system events that some Actions send, like:
- Copy
- Paste
- Type a Keystroke
- Some Select a Menu
- etc
So, the technique I use is to put a Pause after any Action that I know (or suspect) might not wait for the application or system to complete the system event. To that end, I use the following:
- Create a global KM variable "DND__PauseStd", and set to 0.1 sec
- You can set this in the KM Prefs Variables Panel, or via an Action in a standalone macro
- Then, at the top of every Macro, I insert:
- Then, wherever I think I might need a pause, I insert:
- This can be over-ridden for specific cases that might require longer pause
Both of these Actions are stored in my MACRO: [KMFAM] Favorite Actions and Macros for quick and easy use.