Select Macro Group or Smart Group

Great question. I got bit by this experimenting and thankfully just remembered that I had done that. I am really trying to understand what I don't understand and the reason for it. I don't understand what benefit it is doing by adding that option versus just disabling the macro group which you can know and quickly see what is going on.

I am seeing things more here and yes I have depended on that transient state and wouldn't need to see that generally speaking though in the editor and I can see what you mean with the overhead load having to update the Keyboard Maestro editor everytime when you switch between apps.

Maybe something like

image

"Evaluate Condition Results" in the view menu which you have to turn on or click on a macro to turn on since that creates more overhead and then a green dot or something if it is active but that might be a lot more overhead than would be good.

Evaluate Macro Group Results (More CPU Usage Not Recommended).

Anyway I see you point now and though I still don't get the use case for it versus just unchecking enable for the macro group, I am not opposed to options and I am sure there is still something more that it helps that I am not seeing.

https://wiki.keyboardmaestro.com/action/Activate_Macro_Group?redirect=1

":information_source: Note that activation state is a transient state, and is not the same as enabled state (which is semi-permanent and displays in the editor). This action will not change the display in the editor even when it activates or deactivates the macro group. See Macro Activation for more information."

That is good information, and maybe some more information like if you switch away from applications, or even quitting that application that you have set to "Available in these applications" app and come back to it will not reactivate the macro group, nor closing Keyboard Maestro. Only quitting Keyboard Maestro Engine and then restarting will make that macro group active again. Then, explicitly state the reasons why you would use this over disable macro group and give a recommendation for using it.

Perhaps that is overkill, but it would certainly have helped me a bit more. It seems like it is really to do more with pallets, which I don't hardly use, and that is the use case for them. When would you use Deactivate over Disable for a macro group?

One thing I just found that might be a use case between the Deactivate over Disable is when you deactiveate on one mac that is syncing macros it only does it for that computer but when you do disable it does it for both computers which of course makes sense and what I have been already doing for a while. Might be helpful to add some of those little tips to the Wikipage.

Do you mean the activate/deactivate action?

One example -- check the "Last Modified" of ~/Library/Application Support/Keyboard Maestro/Keyboard Maestro Macros.plist, wait a minute, disable a Macro Group, check modification date again. Then re-enable the Group and do the same but with a the "Activate/Deactivate" action. Re-writing the entire Macros.plist isn't so bad in these days of SSDs, but we weren't always so fortunate :wink:

More sensibly -- the "Activate/Deactivate" action overrides the Group's activation criterion. So if you have a Group that is set to be only available for one action, because that's your main use-case, you can use the "A/D" action to make it available for multiple uses then deactivate it again. Or if the Group has been previously deactivated you can programmatically activate it for one action.

I don't use it myself, so I'm clutching at straws as to how it could be used. And "how can I use this action?" is straying even further from the thread topic than we'd gone before. If you want proper answers then post that question in a new thread so people will see it.

I agree and have been thinking the same thing. I wonder if someone width forum power can break this off into its own thread starting at Select Macro Group or Smart Group - #10 by skillet

I'll respond and start a new thread and thank you for your testing and examples.