Make a Macro Appear in a Palette Only in a Specific Application

After a lot of searching I'm not seeing this question answered, so...
Is it possible to have a macro appear in a palette only in a specific application and otherwise not be visible in that palette?
My example: I have a general purpose palette with different macros, some are universal but some are only useful in a specific app, like "Toggle Finder Window Sidebar" is a Finder-specific macro that I'd like to only see when I'm in the Finder, not any other time.
I understand about setting an entire Macro Group to be app-specific (and made into a palette). But I'd like to have this general-purpose palette dynamically show individual macros for the places where the macro is only needed there.

Have you tried the Show a palette of macros action? You can put a different one in each app-specific macro group.

If I have a Macro to "Show a Palette of Macros" then don't I have the same issue except now I'm seeing that macro all the time (in the Palette). Maybe I'm not understanding how this would work.

If your palette of macros action is in an app-specific group, it will only respond to its trigger when that app is in focus. You can use the same trigger for all these palette actions that are available in different apps, so that each app has its own palette configuration for the same trigger. Does that make sense?

The palette is one where I have a random assortment of macros, some work universally, which should display all the time, when the palette pops up. That’s great. What I’d like is for the app-specific macros (like my Finder example) to appear in the palette when that app is front-most and be gone when I call up the palette in another app.
I understand I can have app-specific groups that are palettes, but if I have a mélange macros, that doesn’t seem to work. (I tried having a macro display my Finder group (when in the Finder, obvs, but that still means the macro showing that is always visible, which defeats its purpose.)
Again, perhaps I’m not grokking your reply (still).

This is exactly how "Show Palette of Macros" works when set to "available in all apps".


Finder: macros A and B
Browser: macros C and D

The macros A to D are app specific but merged in the palette and only shown in the respective (front) app.

But honestly, I think such palettes have some disadvantages. The suggestion of @noisneil is better.

Is this what you mean? If so, the palette is already setup the way you described.


Here's the action I was referring to. Put one in a macro, inside an app-specific group and add some macros to it. You can add macros from that group or any group that's globally available. You can do this for any/all of your groups and use the same trigger to call all of them.

1 Like

Yes, as @noisneil says, and add with the green button, the macros you want to have. But again, this has disadvantages. It is better to build app specific palettes that opens with the same shortcut. You can design them as you want and add your own triggers. That's how I see it :slight_smile:

1 Like

OK, maybe just bare with me a bit more while I try to understand (and try to manage my self judgement about feeling pretty dumb at this point).
In my palette that has a bunch of macros, I create a macro (that I'll just call "Show in Finder"). The Show in Finder macro has this action: Show Palette of Macros. In that, using its green button, I add my Finder-specific macro.
I tried that and what happens is I click on Show in Finder (when in Finder) and up pops a little palette of Finder macros (only one at the moment). And if I'm not in the Finder and I click on that nothing happens. I think if I had a bunch of macros specific to an app like the Finder, this could be a good approach. However...
I still have a macro in my general purpose palette taking up room, so my wish to have a row appear and disappear per application isn't solved but also, now I have to do 2 clicks.
If I didn't understand what you were suggesting, maybe you could dumb it down for me even more, if that's possible.
For now, I'm still left with my original request: I just want the macro to appear in the palette when I'm in the Finder (in this case) and not be there at all if I'm not in the Finder.

I think what @rowan is looking for is a single palette that would have macros dynamically populate based on the specific app. Not multiple app-specific palettes.

This is what "Show Palette of Macros" does :man_shrugging:

Um, you're right. My bad.

I have no idea why that does not work for @rowan

But I know for sure that app specific palettes can do the same, just better. This is of course a matter of taste :sunglasses:

There are so many ways to use palletes so could you show an example of what you're talking about with screenshots? Might make it easier for @rowan to grasp (and for me to make sure we're talking about the same things!).

I tested it previously and it didn't work, but I realize I had added an app-specific macro group that was set to "show a palette for one action when:"

In case this helps, adding individual macros from an app-specific group and/or adding entire app-specific macro groups with default settings works as described above:

Screen Shot 2022-06-30 at 2.00.11 PM

This is what tripped me up:

In my opinion, "Show Palette of Macros" is inconvenient because it creates nested palettes, which cannot be customized. KM determines triggers and appearance. If two macros start with the same letter, you have to press this letter, then a new palette opens with the same two macros, which can be triggered finally with different letters. With app specific palettes this does not happen. One macro, one trigger that I can choose myself, and I can design the look of the palettes. But that is a matter of taste :man_shrugging:

Example two macros have the trigger "w"

I press "w" and this palette appears


Now I can choose "a" or "d". Why is this not possible in the first palette?
One example why I don't like this kind of palette.
Does this make sense?

1 Like

Yes, this is exactly what I want. One palette where app-specific macros are only visible for the front-most most application (i.e., Finder specific macro is only visible in the palette in the Finder, otherwise it is not there, gone, does not show up at all).

You probably can't hear it anymore :rofl:

"Show Palette of Macros" does exactly what you want!

Good night, I'm going to sleep now :slight_smile:

1 Like

Sorry, but "Show Palette of Macros" shows another palette.
I don't want KM to display a second palette, that's not what I'm asking for.
What I want is to have an individual macro be visible in the application it applicable to then disappear when a different application is front-most. I'm going to show a screen shot in another entry.
Sweet dreams!