Macro via palette *and* typed string?

I have a massive collection of macros, and historically, I've used a combination of typed strings and hot keys to activate them. As the collection grew, however, I was both running out of keys to use and my ability to remember all the shortcuts.

So this weekend, I "palletized" the vast majority of my macros, and made a "super palette" that lists all my other palettes. I can now access everything through only a handful of hot keys, which is great.

However, I have a small number of macros that I'd also like to be able to access via their typed string triggers (so they appear on the palette, but can also be activated via the typed string). I don't think I can do that without duplicating the macro, right? If the macro group is set to "show/hide a palette when," then the typed strings would only work when the palette is onscreen, which sort of defeats the purpose.

For now, I've gone with the duplicate solution, and created a "Typed Strings" group with duplicates of all those macros. If/when I update the macros, I'll have to duplicate the work, which is a pain, but at least this works.

Did I overlook a more elegant solution?


Two possible ways to do this that come to mind are:

Use the relatively newly-added (as of version 8, I believe) "always activated and shows/hides a palette when" activation option for the original macro group, which should keep the typed string triggers active even when the palette isn't visible:

Or, instead of duplicates, you could use macros that just use an Execute a Macro action to, well, execute the original macros, and assign these alias macros, so to speak, the typed string triggers:

Which would make it so you'd still only need to edit and maintain one set of macros. Incidentally, you can even hold down the Option and Command keys and drag and drop macros into a different macro group to create such alias macros easily, just like with files in the Finder.


Thanks for the suggestions—two features I didn't even know KM had!

The first won't work, unfortunately, because my palettes are single-key shortcut based, so I can't have them active at all times.

And the second, although handy, seems to force the macro to run with the group restrictions of the original group—which in my case, is that it's a palette activated by a hot key. So I can't use the typed string trigger unless that palette is onscreen, which is the same problem I originally had.

I guess I was hoping an aliased macro would take on the rights of the group it was in, not the group the original was in.

Looks like I'm back to using duplicates.


No problem, Rob. That's strange that the alias solution isn't working for you, though. When I try it, I have no issue running macros in non-active or disabled macro groups, so as far as I can tell, the aliases do take on the rights of the group they're in, rather than the originals. For example, this simple macro with a single letter hotkey is part of a mouse control macro group that only works when a palette is visible:

Center Mouse.kmmacros (2.4 KB)

But this alias macro in a separate macro group can still run it even when the original macro's palette isn't visible:

Center Mouse alias.kmmacros (1.2 KB)

If you can upload an example of a macro and macro alias that doesn't behave like this for you, maybe we can figure out what the issue might be. (I'm running KM 9.0.6 on 10.15.7, in case that makes any difference)

Update: They're working fine today (KM 9.0.6, macOS 10.14.6). Not sure what was going on, but I tested a number of macros and found the same issue. Today, they're all working fine as aliases. Strange but good.



1 Like