Activate macro group by palette

Is there a way for a Macro group to be active only as long as it is displayed by the palette shown in its containing Macro group? I want to use a Macro group to show a palette containing other Macro groups triggered by hot keys, so that each of the sub-Macro groups shows a palette of shortcuts. This could give me quick access to a great number of macros from relatively few initial palettes.

When I try to set a key trigger for a Macro group to show a palette for one action, then put another Macro group in the first group so that it is displayed as a choice on the first group’s palette, then give the contained Macro group a hot key trigger, it seems to allow me to press the hot keys in sequence to bring up container palette and then the contained palette so that I can then select from macros displayed on the contained palette. But it turns out that the hot key for the contained palette causes that palette to appear whether or not the containing palette is still displayed. I need the contained palette’s hot key to be able to show it only when its containing palette is displayed, or to stop triggering the contained macro group’s palette after one macro is triggered.

I’m going to take one more pass at this.

I want to launch one palette from another. Palette 1 becomes visible when I press the hot key that is set to show a palette for one action for Macro group 0 when the hot key is pressed. On that palette appears Macro group 1, the trigger for which is also set to display a palette for one action when a hot key is pressed. However, the hot key for Macro group 1 remains active even after I’ve triggered it, which seems to me to contradict the setting “displays a palette for one action when hot key is pressed”. Pressing the trigger seems to me to be one action. Why doesn’t Macro group 1 become inactive again after its hot key is pressed until I invoke it again by pressing the hot key for launching it on Palette 1?

To really answer you question you need to post screen shots for:

  1. Macro Group 0
  • Macro in MG 0 which shows the palette for MG 1
  • Palette shown for MG 0
  • MG 1

Meanwhile I'll show you my MG and palette that work like I think you want yours to.

So, it works like this:

  1. I press the hotkey for MG 0
  • The Palette for MG 0 is shown
  • I press "M" to display the sub-palette of macros in MG 1
  • MG 0 Palette closes, and the Palette for MG 1 is shown
  • I press the hot key for any macro shown on the palette
  • The macro is triggered, and the Palette for MG 1 is closed

####MG 0
Palette Activated for One Action

###Palette for MG 0

####Macro in MG 0 which Shows Palette for MG 1
Triggered by "M"

####MG 1

Note that MG 1 is a normal Macro Group Always Activated, and does NOT have a palette associated with it. The Palette which shows the MG 1 macros is displayed by the "Macro which Shows Palette for MG 1", shown above.

####Palette of MG 1 Macros

I hope this helps.  If my workflow is not what you want, then please clarify and post the screenshots that I requested.

Thanks a lot. I’ll mull it over and get back to you.

Before I post any pictures, I’ll try to explain the difference between your routine and what I want to happen. Your MG 1 is always active, so you have limited its scope to the 4 apps so that pressing “M” is not enough to trigger the “@SD Show Main AppleScript Palette” macro globally. It appears to me that if any of those apps is open, pressing “⌃⌥L” will trigger “[AS] Create Log Statement for Selection” whether the palette is visible or not. I don’t want a palette method for accessing the macro that reminds me what the action’s trigger is, I want to create unique access for the macro that is only available through use of the palette.

I don’t want to limit the scope of my MG 1. I want it to be active in all applications, but only while the palette containing the “@SD Show Main AppleScript Palette” macro is shown (the MG 0 palette). That’s what I would expect to happen for a trigger choice that includes “for one action” in its name. Obviously that isn’t the case. Can I make the MG 1 inactive by including an action for deactivating it immediately after the “Show Macro Group ‘SD, SE, BBEdit’ for One Action” action?

I may have found what I want by using that approach, but I’ll have to try from a fresh login to see whether I need to set the default activation for MG 1 to inactive and make an action that activates it when the “@SD Show Main AppleScript Palette” macro is run from the MG 0 palette.

Try this. I believe it does what you are asking for.

###Macro Group 2

Available in ALL Apps, but ONLY when triggered by MG 0 Palette

###Macros in MG 2
(just one for testing)

###MG 0 -- Same as before, but added one macro to show palette for MG 2

###Macro that shows palette for MG 2

That worked, but for a while as I was testing, the hot key for the MG 2 palette item remained active even when the palette wasn't shown, so I added a deactivate action to it. The action that shows the MG 2 palette for one action still activates the hot keys for the MG 2 palette item.


Now I only have a few hundred more macros to add this way from my QuicKeys Softkey shortcuts. (That's right, I still run QuicKeys after 25 years.) Plus, I have to figure out if I can create one action at the end of the palette for activating the next palette, and one to move back up to the previous Macro group palette level. That's how I've navigated hundreds of Quickeys shortcuts for a decade or so.

Rather than trying to replicate the exact behavior of QK in KM, you might consider taking advantage of the many features of KM that QK does not have.

See Transition From QuicKeys (KM Wiki).

Yeah, well, that’s what I’m trying to do, I think. I don’t think very many of us are able to approach this problem with an equal mastery of both QuicKeys and Keyboard Maestro. Do you?

Of course not, and you should do what works best for you.

All I was suggesting is that you might explore using other KM features to solve your needs before you spend a lot of time replicating hundreds of QK macros.

If you like, you can post a more general statement of what you would like to achieve, what you would like to automate, and solicit suggestions from other KM users. We have a broad and diverse membership here, many with experience and expertise in palettes and other KM features.

Welcome to Keyboard Maestro. Good luck, and let us know how it goes.

Hey Laine,

When I finally gave up QuicKeys in 2012 and moved everything to Keyboard Maestro I struggled quite a lot with certain aspects of it. Me, the utility and automation master — and I had been running Keyboard Maestro in tandem with QuicKeys since early 2004.

I was highly frustrated by things like renaming items in the Finder.

Adapting the to very different mindset of Keyboard Maestro give me fits at times, but after 5+ years of constant usage I've gotten pretty comfortable with it.

I don't use palettes all that much, although I'm adding them in here and there — especially one-key and vanish palettes, or one-key action palettes that are active until dismissed.

A number of people on the forum have really surpassed me in using them.

I need to build some nested palettes, but so far I haven't taken the time.

Keep hammering away. You'll get there.

Take Care,