This is a proposal for a standard location which can be used by files needed by a user's macro files. The aim is to discuss and arrive at broad agreement on a voluntary common practice. I would not envisage official support in the Keyboard Maestro application—at least, not for now!
I recall that the discussion of the best location for such files has come up before, but I have forgotten in which topics and I have started afresh with my thinking anyway.
I am finalising a revised set of macros that I plan to upload here soon. It will require two or more Macs on a LAN to synchronise not just Keyboard Maestro macros in the usual way, but also to synchronise some small text files.[1] This has prompted me to think further about having a voluntary standard for folder location and structure for dealing with such user files, so that creators of macros have the option of adopting a common practice.
I propose that the base folder should be at:
~/Documents/Keyboard Maestro User/
It is undeniable that the Documents folder has long since become a de facto standard location in which many applications will create folders (many years ago I retreated from the invasion by using a subfolder for my own files). The Application Support folder is not suitable because this matter is not about supporting an application; also the folder is less accessible to the user than the Documents folder is.
Regarding the folder structure, I currently have only one subfolder to suggest:
~/Documents/Keyboard Maestro User/Keyboard Maestro User Sync/
This is the folder to be synchronised between Macs. This leaves the option of adding further folders which would remain local to each Mac. I recommend Keyboard Maestro User Sync
rather than just Sync
in order to prevent user confusion when setting up file synchronisation software.
Within that folder would be the folder name for the macro, or suite of macros, that you have made, followed by a UUID. For "Example Macro" would look like:
~/Documents/Keyboard Maestro User/Keyboard Maestro User Sync/Example Macro (E43004EF-0B71-4091-ACF9-A0F54EFE2408)
The UUID is in case there are ever several macros (or set of macros) called "Example Macro", or perhaps different forks or versions of the original macro. Of course, it would be up to the macro's creator to supply the UUID.
I recommend the same model for any macro's folder that is outside the Keyboard Maestro User Sync/
folder.
The latter is not supported by Keyboard Maestro, but can be achieved by using synchronisation applications such as SyncThing, which is what I have been testing with. ↩︎