I'm not sure. But I suspect @peternlewis will never agree to that because of the basic concept in place that in order for a macro to be triggered, it must first be "active", as determined by the Group settings:
What I'm asking for is much simpler, much more constrained change: Just provide an OPTION on the "Show Palette for one action" Action. Adding an option will NOT break any existing macros.
Show a Macro Group for One Action shows the macro group in a palette for one action (usually you triggering a macro in that group, but any single action will complete it). After this, the macro group is deactivated (and the palette is hence removed).
This is the same as if the Macro Group had been configured to Show for One Action, and you hit the hot key associated with the macro group. And that is the purpose of this action, to allow you to do that but with more flexibility.
Currently there is an invariant that a macro group that shows a palette is active if and only if the palette is visible.
I understand that some people want some different behaviour, but I am loath to break this invariant, and the complexities of activating macro groups are already out of control. I may change this at some point in the future, but it will require a lot of brain power to be expended by me to ensure that all cases work the way I want them to and also to avoid breaking existing behaviour in unpleasant ways.
The answer to your specific question, “I don’t understand how this action can be effectively used.” is, given a macro group that sometimes shows a palette (and hence, sometimes is active), this action allows you to control the activation with something other than the available options (eg a MIDI key for example).
This problem is that it is a one-time only execution. After the macro with “Show Palette for one action” is executed once, it cannot be executed again. How am I supposed to use it?
Also, the Group was already active before this macro/action ran. So, I am not following your invariant mandate for this action. Why should it deactivate a Group that was already active?
A palette is just another form of a menu. Why must the Group active status be tied to whether or the palette is visible? I can understand an option to do that, but it does not make sense to me for that to always be the case.
Nowhere on the action does it say to deactivate the macro group after showing the palette. It says "Show palette for action", so that is all that I expected to happen. It says "show palette", NOT "activate group". The disabling of the macro group was very unexpected.
Maybe it is just me, but I'd be surprised if other users are not surprised by the behavior as well.
I guess my main point is to appeal to you to provide us with some means of showing a palette of all macros in a group without requiring that the palette be visible to trigger these macros.
I have 35 macros in my Evernote group. Of those, I use about 6 routinely, and have no problem remembering the hotkey triggers for them. But I can’t remember all 35 macros, much less the hotkeys for them. Being able to bring up a palette for all macros occasionally would be awesome.
While @DanThomas’ new alias macro helps, it still is a royal PITA to create 35 alias macros for a separate group, and maintain these as I add and change the actual macros in the main group.
Another issue with using the alias approach is that I can’t show the hotkey trigger in the alias macro, else it would execute twice. So the palette does NOT help me learn or remember the actual macro hotkey.
Here’s an outside-the-box suggestion, which won’t help with palettes but may help with the more general difficulty of not remembering all the hotkeys. In similar situations, I give all the macros in the set a Status Menu trigger. So, if I don’t remember the hotkeys, I can trigger them that way – and the status menu dropdown shows the hotkeys, so I usually don’t even trigger the macro that way, just remind myself of the hotkey and then type it, to help me remember it the next time.
Not as convenient as the palette behavior you want, but maybe better than the palette behavior you have?
Along this line there is KeyCue which will show you all your Keyboard Maestro shortcuts and within which you can make a custom items section. Very simple and elegant if the primary issue is recalling an organized list of shortcuts.
This could work, except that I have so many macros in the Status menu that I have set it up in a hierarchy, and I don't see any way to select/activate the "Evernote" group, when the Status menu is displayed from a macro:
I know this was mentioned before, but you haven’t said either way, so I’ll mention it again:
If you haven’t already tried KeyCue, it seems like exactly what you need. It shows KM hotkeys as well as app hotkeys, and you can ever customize it to show “custom” hotkeys if they can’t be found any other way.
They have a free demo version.
If you try it, a couple of things I discovered:
Look at the other themes. I’m not a fan of the new default theme.
Out-of-the-box, you hold down the Control key to see KM hotkeys. It’s very configurable.
Like I said, I think this is the ideal solution for your situation, and it’s not very expensive.
Dan, many thanks for the extensive details/screenshots about KeyCue.
While that is certainly better than nothing, I really don’t want to show all KM hotkeys that are active at the moment. I only want the ones that are in my Evernote Group. I have a ton of other macros that are active (but with no trigger) like in the “Test” group, that I do not want to show. I also have some Evernote macros which do not have a hotkey, only triggered by the Status menu.
Hopefully Peter will see his way clear to give us KM palettes that do not deactivate the Group when not shown.