How Can I better Organize, Manage, and Select my Macro Groups?

There's been talk about subfolders before and I think Peter is still against it.
There are lots of great Keyboard Maestro tools made by the community to help browse your macros though. My favorite one is:

Check out @ccstone @Tom and @JMichaelTX's work in addition to @DanThomas for some other great Keyboard Maestro tools.

1 Like

Thanks a lot for your answer. I really appreciate that. I have to say, I do not understand why subfolders seems to be a problem, or how one could be against it, but of course browsing works well for me - so finding is not really the problem - it's more for my inner structure.
I try it this way now (only if anybody else could use the trick)...
I disable all the macro-groups which are not running in meta-structure (like e.g. 10 macro-groups with 100 macros in it which are all open specific folders + copy something in it (just an example)) and than click in "view" "hide disabled macrogroups" and than activate them in the "meta"-macro with the "enable-macro"-action just to disable the macro-groups afterwards again... maybe sound complicated, but makes group column waaay clearer and makes my structure more logic

I don't totally follow, but I'm glad it works for you :+1:t2:

1 Like

haha, thanks, can imagine that... it's a little difficult and hard to explain too - that's why I need the sub-folders :stuck_out_tongue:

Hey @John,

It's not that Peter is specifically against the idea of nested group folders – it's just that implementing that feature would take a gruesome amount of time and effort.

It boils down to a cost/benefit equation, and at least for now the costs outweigh the benefits.



Hey @John,

By the way – welcome to the forum.

FYI – in case you didn't know – you can type-select in the Groups and Macros panels to more quickly get to the group/macro you want.

Automating the Keyboard Maestro Editor

See specifically the Move Focus to Group List AppleScript.

Paste it into an Execute an AppleScript action in a macro, give the macro a keyboard shortcut, and you're one keystroke from being able to move the focus in the Keyboard Maestro Editor to the group list and type-selecting the group you want to get to.

There's also @DanThomas' great macro:

Go To Group by Name (Spotlight)

And there are other ways to do this as well.

Your English is not bad at all, but like @cfriend I wasn't able to fully follow your explanation in post #5.

Keep in mind that you can post images on the Forum, and sometimes a picture (real or mock-up) is worth a thousand words.

Sometimes posting a video on YouTube is required to get the point across.

A quick and dirty example of my own:

Keyboard Maestro - Setting a Safari Pop Up Menu

If you haven't seen this it's worth reviewing:

Tip: How Do I Get The Best Answer in the Shortest Time?



Yes @John, to clarify: Your English is fine, I just couldn't follow the description :slight_smile:

@cfriend @ccstone Thanks guys! :slight_smile: Proud to hear that. I could explain it in more detail if someone maybe want to hear about the topic later :wink:


thanks :smiley:

actually I didn't try that, but I wouldn't help a lot becaus most of my groups starts with special charakters [, • etc.thanks any way

doesn't the view option "select groups column" do the trick or did I missed a detail?
(I guess I am not advanced enough in apple script to understand everything in the "Automating the Keyboard Maestro Editor"-Topic)

This may not be exactly what you want, but you may want to take a look at this macro:
MACRO: Jump To Favorite KM Macro Group [Example]

It allows searching by any character in the Group name, and using a list of favorite Groups to choose from. But then you can choose from all groups if you want.

1 Like

@ccstone now I checked out the "go to group by name" I will use for other purposes now! It's great! Thanks a lot for the tipp! Thanks for the video link too - You have a great voice Christopher - you should speak for TV :smiley:

1 Like

@John, I hope you don't mind that I have revised your topic title to better reflect the question you have asked.

Use Hidden Macros

How Can I better Organize, Manage, and Select my Macro Groups?

This will greatly help you attract more experienced users to help solve your problem, and will help future readers find your question, and the solution.

1 Like

@JMichaelTX Yeah! That's totally awesome and helps a lot! Thank you! I check it out in detail, but I think, that's what I needed! :smiley:

1 Like

@JMichaelTX Thanks! I love your change, but than I just have that question to ask:
CAN I use hidden/disabled macros, WITHOUT enable them? I could enable them for a macro and disable them again, but maybe their is a more elegant way to do this too? (hopefully you didn't answer this already, maybe I should work through the macro you gave me :sweat_smile:)

I'm not sure I understand your question, but let me say this:

  1. If a Macro, or its Macro Group, is disabled, it can NOT be triggered.
  2. You can enable/disable any Macro or Macro Group in another Macro using Set Macro or Group Enable action.
  3. It is generally better to activate/deactivate a Macro or Macro Group, rather than enable/disable it. Of course, it has to be enabled before you can change the activation status.

For more info, see Macro Activation .


1 Like


uff, yeah I see, I made it really hard to understand me...
Of course what you write totally makes sense and I think, this is clear for me.
What I want to know is, if it is maybe possible to run a disabled macro or (even more important for me) show a palette of all the macros of a disabled macro group (the macros in the disabled group/the palette could be enabled, that would be all right for my purposes) AND THEN click on a macro on that palette and it works (although the whole group is disabled)
Why I need that? I disable a lot of macro-groups, so that I can hide them ("view - hide disabled macro groups") for a better overview of the Macro-groups that are really important for me (that is also why I want the subfolder structure, because it really confuses my a lot :upside_down_face: )

So I wanna USE palettes of disabled macro-groups - bypass the disable somehow

so here an example, so that one can get the basic idea:

  1. You have a macro-group that does a lot with the download-folder "Downloads" with a hotkey-trigger alt-d (I use it 100 times a day, so is has to be active all the time)
  2. Their is another macro-group with the same hotkey-trigger alt-a that does a lot with my donut-archive "Donuts" (I use it 100 times a day, but only at lunchtime :stuck_out_tongue:, so it has to be active for that time and - let's just assume that, reasons are plenty - only that shortcut makes sense for me)
  3. No problem... I activate Donuts-Macro-group automatic from 12.00 til 13.00 (also deactivate Downloads automatic in this time) and the rest of the day it's reverse
  4. Thats with a lot of different macro-groups with constantly changing content - so far so good
  5. Now i want to use another Macro-group Download all Donuts in which BOTH macro-groups are used (open all Downloads and open all Donuts) → so I have a macro with uses BOTH, but ONE is allways disabled at the time - and that's good.
  6. I could of course just enable the disabled macro-groups until I'm done with all my work, but honestly with so many macros it would be super-confusing and I never could be sure, that in the end all the macros that must be disabled most of the time, really ARE disabled and that whould endanger my whole system with the automatic activation/deactivation (I tried a lot, but in the end, it all collapses :joy:)

Well, I'm still fuzzy on your use case (what are "donuts"?), but I'll try to give you my take on best use of Macro Groups. Others may disagree.

  1. There should be little need to manually control Macro Groups, or to select one, during normal workflow operations.
  2. The need to manually work with Macro Groups is during KM editing sessions, when you are editing Macros and assigning them to Groups
  3. The primary purpose of MGs is to control the automatic activation of its Macros as you move from app to app.
    • This does not require you to do anything other than when creating/editing a MG to choose the App(s) for which it will be active.
    • For example, this "Chrome" MG is ONLY active when Chrome is frontmost:
    • image
    • I can, and do, have Macros in different MGs that have the same trigger, but there is no conflict because ONLY one of these MGs can be active at any point in time. For example, I really like using ⌃T as a trigger:
    • image
    • OTOH, I have multiple Macros with the same trigger in the same MG because they are closely related. When I press that trigger, I get a Conflict palette, which is exactly what I want:
    • image
  4. So, when designing/creating your MGs, the first pass should be by App, so that the Macros in that MG are only active when the App(s) are.
  5. You may have some Macros which you need, in addition to those specific to one app, for use in multiple apps. So you create another MG just for that:
    • image
  6. You may also find it useful to use separate MGs for separate windows of the same app. For example, this MG is active ONLY when QT Player has a window titled "Audio Recording":
    • image
  7. The exception, of course, is for those Macros that you need in ALL apps. Those would go into a Global MG. You should try to minimize the number of macros in this type of MG. Most macros should be App specific.

So, the point is that you don't need to try to enable/disable MGs, in most cases, when you are just using the Macros in those MGs. Proper design should activate/deactivate the MG and its Macros as you move through your workflow, moving from app to app.

Note: I have made some generalizations here which may not apply to specific users or workflows.

Make sense?

So, I hope this helps. If not, then please provide us with a detailed, real-world, step-by-step of your workflow, including the App that is used in each step.


Thank you so much for your detailed descriptions :smiley:
I'm glad to see, I organize MGs in general nearly the same way as you do and I think you gave a great round-up here for this whole topic. I guess my problem is very specific and I should find another way to solve it or just live with it and hope for the sub-folders to come (they really would solve it)! I appreciate your effort and support and looking forward to asks you some "real-world"-question :stuck_out_tongue:
P.S.: The Donut was just a metaphor, sorry, if it was confusing :smiley:
P.S.S: Number 6 is a great tipp for me! I never thought about that!

This has been often requested, but so far the developer has chosen not to provide it.

I see two workarounds:

  1. Separate MGs, but with a common prefix.
  2. One MG, but use a common prefix with each block of Macros that you would like to think of as sub-groups. You could use a prefix that has context, like "[WIN]", "[PROCESS]", etc
    a simple prefix like "[SG1]", "[SG2]", etc
    • You could even start the prefix with something like an underscore "_" to give the appearance of and indent.

Finally, you might checkout the many, many different, innovative ways that people have used Palettes . See Topics tagged with "palettes".

Yes, you're right, that solves it adequately! (Only MG-Names are really getting long here, but with the searchtools I never mind)
P.S.: If you like to, you can delete my confusing posts, so next users maybe find it easier, because I think just with your post here we have a really got overview in general for this topic

1 Like