KM — New Macro Hot Keys

What's unclear is why some are having problems and others aren't.

To be completely clear → all modifiers means → Shift-Control-Option-Command

When the Keyboard Maestro Editor is launched with all modifiers held down the Keyboard Maestro Engine is quit – IF it is running. If it is NOT running then the editor will be launched without launching the engine.

This has nothing to do with importing macros. It lets editor be fired up without running the engine, and that can save your bacon if you have an out-of-control macro that needs to be tended to before restarting the engine.

To import disabled when using the menu item “Import Macros” all modifiers must be held down at the point the file in the dialog is selected – not when the menu item “Import Macros” is selected.

You're sure you're making good contact with all of the modifiers for the duration of the import?

You could try using this little freeware keystroke visualizer utility to make certain:

Set the “Selected Visualizer” in the display preferences to “Svelte”.

(keycastr must be added to the System Prefs – Security & Privacy > Accessibility > Privacy.)

If you still can't get it working I suggest you make a movie of your attempts (that shows the keystrokes), and send a bug report to support.

Peter – would you consider adding a modifier-key such as ⌥ Option to the import-menu-items to expose “Import Disabled”?

-Chris

OK, that's the key: The Macro Group is imported as Disabled, BUT the macros are left enabled, IF the Macro Group did NOES not exist. I was only checking the status of the macro, not its group.

IF the Macro Group does exist, then the Macro itself is disabled.

Frankly, I find this a very confusing way to handle this, and also potentially dangerous.
I often MOVE imported Macros to one of my existing Groups (like "From Others") immediately after I import it. In which case the Macro remains ENABLED.

IMO, to make it consistent and easy to explain and understand, if the special "all modifiers" are held down, then ALL macros in the macro file should be imported as disabled. The Macro Group should not be changed.

@peternlewis, here is the UI that I think is simple and straight-forward, as well as safe and secure:

  • By default, ALL imported Macros and Actions should be imported as disabled.
  • The Macro Group (in the import file) should be left as is.
  • Provide a setting the KM Preferences, to change the default.
  • When the KM app > File menu is displayed, based on the setting in Preferences, it should show either
    • "Import Macros (normal)"
    • "Import Macros (disabled)"
    • the OPTION key would toggle this setting/display
    • "Normal" means in the state as saved in the macro file.

I hope you will agree, and that it would not be too hard to implement.
Of course, if you or anyone has a better ideal for the UI, please post.

Thanks.

It is designed to make the minimal changes to the import, so the least information is lost.

I can't do it - some sets of macro groups include macros in specific combinations of enabled and disabled, and this destroys that information.

Adding Option File ➤ Import Macros to be File ➤ Import Macros Disabled is a good idea.

Other than the preference, it would be easier to implement - there is a bunch of code implemented specifically to decide whether the macro groups are or can be disabled to avoid changing the enables on the macros themselves. But that code is there for a reason, so that only the minimum changes are made.

1 Like

I'm not sure I understand the rationale for having that setup.
IAC, it seems that such a setup is likely to be rare, but you are driving the entire process based on some edge cases.

If the user could change the default, or via the OPTION key toggle the unchanged/disabled on import, then it would seem that these edge cases could be handled. The author/poster of the export file simply needs to advise the potential users that this import file needs to be imported without changes. Also the author should include the setup requirements (enabled vs disabled) in the header comments of the macro, or have a macro in the Group that provides this info (like a "ReadMe" macro).