Feature request for Syncing of Global Variables and Dictionaries

@peternlewis It is wonderful to be able to use Keyboard Maestro's inbuilt syncing preference, via the .kmsync file to sync Macros across my Macs. It means I have the same Macros to hand whichever of my Macs I am currently working on.

But Global Variables and Dictionaries are not part of this syncing process.

I can solve this in a slightly convoluted way by reading/writing the data to .txt files, which are stored on my Cloud service (in my case Dropbox).

But it would be so nice to have the option, in Syncing Macros, to also include the Global Variables and Dictionaries as part of the syncing process.

I have no current plans of implementing syncing of variables or dictionaries.

Syncing is already fragile in that you need to ensure you are making changes only on one Mac, and don't change the other Macs until those changes have had a chance to propagate. Since you are generally the person making the changes, and you, being a human, are relatively slow at moving from one Mac to another and then making changes to macros, this tends not to be a problem.

But a similar system would not work for variables, which can change all the time, whether you are there or not, as macros can easily run on multiple Macs at the same time. This would result in conflicting syncing of variables far too often.

1 Like

Thanks for the explanation. I knew there had to be a reason this is not implemented. But as I have often wondered about this, I wanted to ask.

In my case I have zero Macros that run on schedules or automatically - all my macros are triggered manually (and as you say, I have to move from one Mac to another to run them) but I know many others here do have macros that run in the background on schedules or automatically triggered by events. And I can see that in those cases it would be a bad thing if they were sharing Variables or Dictionaries.

I can share Variables and Dictionaries between Macs by reading/writing their data to .txt files that are synced via Dropbox as part of the Macro. Yesterday I was working on a macro that used a Dictionary and I wanted its data to be the same on each of my Macs, with the ability to add and delete items from it. I did the below which works but I was wondering if there was a simpler way.

1 Like

For small amounts of data, when making a change you could send the data to the other Mac using a Remote Trigger action.

Just make sure it isn't happening too often and doesn't have too much data.

1 Like