Efficient Way to Move Macros to a New Mac

Does anyone have an efficient way to move Macros to a new Mac? I don't need all my macros but some would be nice.

KM was among the first three installed on my new machine.

Hi @bocciaman - there are many ways to do this. But I have long ago stopped worrying about how to transfer Keyboard Maestro Macros onto new computers as I have syncing enabled in Preferences.

image

Syncing works with either iCloud or Dropbox. You basically just check the option on the Mac that has all your current Macros, set a path to store your Macros in iCloud or Dropbox. Then on the new Mac, again check the option and point it at the same file. That's it. Not only a good way to transfer your Macros to a new machine but also if you have more than one Mac you are using, a way to have the same Macros on each current Mac.

I've been using this syncing method for at least 10 years (I've lost track of how long I've been using Keyboard Maestro) with absolutely no issues. And as I use Dropbox I have the added bonus that I can restore the file that stores the Macros to an earlier version if I really mess something up... and I've used that function several times.

5 Likes

Your answer was awesome and everything worked! One other question, after the initial sync, how does it stay synced up? If I create a macro on one Mac does it automatically appear in the other without moving files locally?

I would bet you $99 to $1 that it keeps synching automatically. Because it's called "sync" not "transfer".

@bocciaman yes it is automatic and not limited to two Macs. Just be sure that you have the same version of Keyboard Maestro installed on all of the Macs.

1 Like

What I mean is, what's created is a sync file, not a folder where all the macros go to. So I'm not sure how the syncing continues after the initial "sync file" is created. But it doesn't matter I guess.

Aahh.. The "same version" part that's good to know. Thank you!

Okay. I don't know how it works either. I was just inferring what it probably does.

1 Like

Probably only @peternlewis can explain exactly how it works.

But for all intents and purposes all your Macros are stored in iCloud or Dropbox once syncing is set up. I've been using sync for ages. And each time I want to set up on a new Mac I just enable syncing and point to the same place. If all the Macs were physically destroyed :flushed: you could still retrieve all your Macros on your new replacement Mac by enabling syncing and pointing at the sync file.

It's still not a bad idea to make a backup of your Macros from time to time by this method: File>Export>Export All Macros As Folder...

It only takes a few seconds for the folder to be created.

image

This will make a folder where you want with all your Macros. To reinstall one (if you lose it for some reason) you just double-click it.

image

1 Like

Now that the sync is complete I'm having problems. Whenever I disable a Macro on my new m1 Mac, it disables the same macro on my 2009 iMac which isn't ideal for me. Some Macros I only need on the iMac and some I need on both Macs. Others I need but the M1 still doesn't have all the software required installed.

Is there a solution for this?

Of course you can do this. You can modify your macro to test which Mac you are on and exit the macro if it's on the wrong Mac. You can create an IF statement and check the value of %MacName%.

Or perhaps even better, your macros meant to run only on one machine can be placed in a group, and the macros in that group can test against the group name instead, using %ExecutingMacroGroup%.

Or what new KM mechanism would you like to see that prevents synching from happening when you have synching turned on?

Yes. There are several solutions. The simplest is - Groups can be disabled on specific Macs:

image

And if it's a specific Macro that you want to do different things depending on the Mac it is run on you can use a Switch Case Action using the Mac's name.

image

Lots and lots of ways to make this work. I also have different Macs with different Keyboard Maestro needs and syncing the Macro Library has never been an issue.

But your original questions was:

In which case, let the sync complete on the new Mac (which it must have done) and then switch syncing off on the new Mac. Then delete any Macro you don't want on the new Mac. You will have moved any Macros you want over to the new Mac and no future syncing will happen on the new Mac.

But this is not what I would ever do. One of the simplest things I love to use Keyboard Maestro for, is to change the default shortcuts in Apps. And I want those shortcuts to be the same no matter which of my Macs I am working on. Syncing allows my to change a shortcut in say, Photoshop to be the key combination I would prefer and I know that shortcut will be the same on any Mac I am working on. I also know that when I buy and setup a new Mac I won't have to go into Photoshop and change all those shortcuts - Keyboard Maestro will have done it for me.

1 Like

Those ideas are better than mine. But they all work. I'm not sure which one I would chose.

Hey Guys,

Migrating everything Keyboard Maestro including variables and named clipboards to another Mac is as simple as:

  • Installing Keyboard Maestro on the new Mac.
  • Copying one app-support folder over to the new Mac.
  • Copying Keyboard Maestro's preferences to the new Mac.

How do I backup / migrate / transfer my installation to another Mac?

This has been the basic strategy for most apps for decades, although occasionally an app might have some other files tucked away somewhere.

-Chris


Please read Peter's addendum in the very next post.


Just remember that if you intend to use both Macs afterwards, this note applies:

If you copy the com.stairways.keyboardmaestro.* files, the new Mac will have the same MacUUID token and be considered the same Mac for syncing purposes, so you should not do this if you intend to continue using the old Mac.

If you intend to use both Macs, you need to manually delete the MacUUID and MacRemoteUUID entries with:

defaults delete com.stairways.keyboardmaestro.engine MacUUID
defaults delete com.stairways.keyboardmaestro.engine MacRemoteUUID 
2 Likes

Hello @Zabobon,

I am following your instructions. Sync ON for both desktop and laptop. Where do you set the path?

Thank you very much.

The steps are:

  1. Start on the Mac that has all your Macros as you want them.

In Keyboard Maestro Preferences on that Mac, check "Sync Macros"

This will bring up this Dialog and (on the first Mac) you choose "Create New"

This will bring up the standard Mac Navigation Dialog, where you can navigate to a Folder on your Dropbox (where you want to store the Sync File).

  1. Now, on the second Mac (the one that you want to replace all its Macros with your Master version you just made) you do the same steps but choose "Open Existing..."

You will get a warning that this will replace all the Macros on this machine.

From here, you navigate to the Sync File that you made in step 1. And you select it. It will look like this:

image

The really important thing to bear in mind is that each additional Mac you add to the syncing will initially have all its Macros replaced by you Master sync version.

But from now on all the Macros will stay in sync, no matter which of the Macs you make changes on. You can add additional Macs by repeating step 2.

If you already have two Macs, with very different collections of Macros, before trying to sync you need to make sure you have all the Macros you want on the first Mac by manually copying them over. In other words, make the KM Library on the first Mac exactly as you want all your Macs to be going forward before you attempt any syncing.

And... make sure Dropbox has fully done all its syncing of files before adding Mac 2.

Which leads to... always a good idea to have backups before you attempt any of this... :grinning:

It's also worth reading through this:

https://wiki.keyboardmaestro.com/manual/Macro_Syncing?s[]=sync

2 Likes

thank you very much !

1 Like

Hello @peternlewis

  • where and how do you delete those files ?
  • are the MacUUID and Remote UUIDs regenerated for the new Mac ?
    thank you

Hello @peternlewis

  • where and how do you delete those files ?
  • are the MacUUID and Remote UUIDs regenerated for the new Mac ?
    thank you