ISSUE: KM Palette Behavior Has Changed

###ISSUE: KM Palette Behavior Has Changed

Running Keyboard Maestro 7.3.1 (7.3.1) on macOS 10.11.6.

The behavior of this Action seems to have changed recently (within the last week):

Now, after this macro/action is run, the target Group is Disabled, and I am not able to trigger macros using hotkeys in that Group. See the below KM Engine.log file below for details.

I have confirmed this behavior with another Macro Group, and on another Mac. I have restarted the KM Engine, and my Mac, which did NOT change the behavior.

Can anyone else confirm this behavior?
@peternlewis, have there been any recent changes to KM that would cause this?

###Background

Previously, for nearly a year, I took advantage of this Action in a global macro to show a palette for one action when I needed it, while still being able to trigger macros in the same Group using their hotkey.

Now, the KM Editor display of the Group does NOT change after the Show Palette Action is run. It looks identical before and after. Here's an example:

###Macro to Show Palette for FrontMost App
This is a very simple macro which really uses only one key Action, Switch Case based on the FrontMost app, and then does a Show Palette for the Macro Group for that app.

###Palette Shown by Above Macro
Shows all of the macros in the Group

###KM Engine.log File

~~~ FROM KM Engine.log File ~~~

~~~ NORMAL TRIGGER OF OL MACRO BEFORE PALETTE ~~~
2017-07-08 15:17:14 Execute macro ‘@OL FWD to @Evernote (@EN)’ from trigger The Hot Key ⌃⇧E is pressed

~~~ TRIGGER OL PALETTE, AND THEN SAME MACRO ~~~
2017-07-08 15:17:57 Execute macro ‘@Palette Show/Hide Palette for @FrontMost App’ from trigger The Hot Key ⌃⇧P is pressed
2017-07-08 15:18:39 Execute macro ‘@OL FWD to @Evernote (@EN)’ from trigger Macro Set Palette

~~~ ATTEMPT TO TRIGGER OL MACRO AGAIN VIA HOTKEY ~~~
~~~ No log entry because Macro was NOT triggered
~~~ I just heard the beep when an invalid shortcut is used

"Disabled"? Or "Deactivated"? The difference is the appearance in the editor - the check mark shows the group as enabled or disabled (cross). Activated/Deactivated is an engine transient state.

What you describe is the expected behaviour of "Show palette for one action". The palette is shown for one action (any action, any macro, any key press, etc), and then the palette is removed and the macro group is deactivated (macro groups that show a palette are enabled if and only if the palette is visible).

This behaviour has not changed since the "Show palette for one action" action was implemented.

Keyboard Maestro has not been updated since October so there are no changes in Keyboard Maestro - there hopefully will not be any update until 8.0 is released.

Version 8 adds some options to the macro group to be always active and sometime show a palette.

Then I must have been hallucinating. :wink:

I could have sworn that when I "Show palette for one action" using that Action with a Macro Group that has no palette settings, that the Macro Group continued to be active after that action. Is there any way to achieve that prior to KM 8?

1 Like

@peternlewis, OK, I think I have a solution/workaround. This seems to work (with limited testing), unless I'm hallucinating again.

Now I just need to see if I can refactor this into a sub-macro.
I'm not very hopeful, since all of these actions use explicit dropdowns with no opportunity to use a variable for the Group name. Any ideas?

1 Like

Looks about as good as it is going to get. To generalise it, yes, you’d need to do the “get XML, transform the XML, and use “do script” to execute it” trick.