How to make "disabled on this Mac" default to ON for a particular group?

I sync my macros, but there is one group that I only want to run on my home Mac. It runs things using the Time of Day trigger, and performs tasks on remote machines β€” so having multiple Macs trying to do the tasks is going to cause chaos.

Currently, I must be sure to go into the group on each new Mac I sync to, and tick "disabled on this Mac".

I would really like to be able to set this particular group to default to disabled on all Macs, and then only enable it on the specific one that I want it to run on.

I tried setting a global macro that would disable the group on all other Macs, but I can't find a suitable trigger condition that would detect which Mac it's running on, and guarantee to disable the group before anything in it can run.

I don't want to have to add a MAC address check to the start of each individual rule, as this is a major pain.

Is there a way to reverse the default of the "disabled on this Mac" setting for a particular group? If not, please could the choice be added?

Failing that, does anybody have a suggestion for a macro that will keep the group disabled on all Macs that don't have a specific MAC address?

1 Like

I'd love to know a better way to do this myself.

In the meantime, I have a group named after each of my Macs, and I have disabled that on all of the Macs except the appropriate one. Then, when I make a new macro that I only want to run in a particular place, I put it in the group named for the appropriate Mac.

Fairly obvious and won't let you create another group within that group, so it will break down if that's what you need/want, but it has worked OK for me so far.

That’s the same way I do it. A more generic way would be preferable though,

The trouble with that solution is that adding a new Mac starts with the groups all enabled until you go and disable them, which is exactly what I'm trying to avoid.

If we had a few more options for group activation, like "activated when this file exists", then I could work around it by creating a dotfile in $HOME.

I still think having "disabled on this Mac" default to YES rather than NO is safer, though β€” at least for groups with timed triggers.

It is quite an unusual case, and not something I am likely to support I'm afraid.

I have the same need. This is how I do it:

I have a maestro startup trigger that saves the system host-name to a variable. Then my macros can tell if they are supposed to execute or not. I have one housekeeping macro that does different things depending on which machine it wakes upon.

Perhaps my favorite use case at the moment is my "messenger". When triggered it prompts for a message, and then writes it to a file on iCloud..where my other machine will pick it up and display it. So I'm at work, I think of something I need to take care of at home and when I get home there's an alert already up reminding me. Thank you, hostname!

1 Like

Just piping up to say that I also have this use case. So, perhaps unusual, but not unique :smiley:

I too have this feature request!

A solution to having macros only run on a specific Mac has been answered elsewhere. But I thought it might be helpful to give an exact example. The way I do it is like this:

So, any macro I want to work on just one Mac I put that specific "If Then Else" action as the first action in the macro (my Mac is called "Holly" but the name should just be the name of whichever Mac you want the macro to run exclusively on).

What I like about this approach is that it doesn't matter what group the macro is in. For example I have one group of all my macros for Final Cut Pro X. But some of these macros are specific to a particular Mac (due to screen size). I can keep all my Final Cut Pro X actions in one group but make some of them specific to a particular Mac.

I know this solution has been mentioned before (that's how I discovered it) but I thought it worth adding to this thread.

Macro only enabled on this Mac.kmmacros (2.4 KB)

The "If Then Else" Action is very powerful and very useful for even one element of a macro that I only want to run on a specific Mac. Here is an example of just one part of a macro that needs to be different for each Mac it runs on: