How do you pause a macro until one item is selected from a pallet.?

How do you pause a macro until one item is selected from a pallet?


Just to be clear, do you mean "disable" a macro from being started, or do you really mean "pause a running macro"?

And if the former, do you also want to know how to disable it, or is it already disabled and you simply want to enable it when something is chosen from a pallette?

The show pallet is in the middle of a macro. When I show it I would like the macro to pause at that point until I make a selection from the pallet. Once the selection is made I want to continue the rest of the macro.


When I show a palette, it already pauses until someone picks an item. In this example, once someone picks an item then the "Tink" sound will play.


If you show your macro, or even a simplified version of it if you don't want us to see the macro, that could be helpful.

Here is the macro I am using. I just noticed I am using a macro group where I indicated I was using a macro. I tried the one using "Show Palette of Macros and it works. My list of Macro's would be very long and kinda hard to update.

Here is one item from the pallets group.

Ok, now I was able to replicate your issue.

I have never used palettes before, so this took me some time to figure out, and even still, I may not be right.

When you use the "Show Palette" action, it's actually supposed to stay on screen permanently. It's not a "selection", it's a permanent menu. No matter how many times you "select" something, it stays on screen. That's how it's designed.

I can think of several ways to get what you want, but none of them involve changing how the action works. I can't cause KM to behave differently. But I can certainly tell you how to make KM do what you want.

In this case, you could have each of the macros in your list set some global variable to "Clicked" and then your original macro can wait for the variable to say "Clicked." That would achieve your goal, right?

I have other possible solutions for you, if you don't like that solution, but none of my ideas involve changing how KM actually works.

If I'm wrong, please forgive me. I'm doing my best to help.

Bring in a blank "Show palette of Macros Action". Click the green + button.

Then navigate to your Macro Groups and select the whole Group, instead of selecting individual Macros.

This will dynamically update so, if you add more Macros to the Group they will be shown when the Action is run.

The main Macro where the "Show palette of Macros Action" is used will pause until one of the Macros is clicked on the Palette.

The only slight quirk is that the name of the Macro Group is included as the last item on the shown Palette.

Thanks for for the help.


1 Like