I have fixed a case where a palette is displayed for one action, which then leads to a conflict palette, after which the triggers that had the same key in the macro as in the conflict palette could remain enabled invisibly.
I don't know if your issue is the same, since there isn't enough information about reproducing it to verify if it is the same or a different bug.
exactly what happens and the reason I am in the process of reorganizing my macro groups as a workaround, but a huge pain in the neck and waste of time. I had structured KM to make heavy use of conflict palettes. KM 9.06 Catalina 10.15.6 supp
thank you for your reply
Hi, I can confirm the problems, @ronald describes (and already have reported it to support)
I can add some observation to this odd problem:
I have more than one palette that triggers an ICP (invisible conflict palette)
I cannot say if it is connected to having a shortcut as a trigger (as all of my palettes are triggered by shortcuts)
Not every macro in a palette triggers an ICP (my guess was that it has to do with the Search-Replace-Action – but I'm not so sure anymore)
I don't have Better Touch Tool installed, so I would rule it out as a culprit.
In the meanwhile I have a workaround: Just add the action "Deactivate Macro Group" as last action into every macro in an "infected" palette group. If you have a lot of macros, this means a little work but I'm happy I have done it (with all macros in the "infected" palettes), as it makes the bug disappear and KM behaves just as before (and it is definitely easier than reorganize – and remember – a new "trigger approach").
Hope it helps
(funny coincidence with the name – I hope the bug is not connected to that )
I had figured out, like you, that if I have a conflict, one solution was to deactivate the macro group.
This is the problem I had:
if you add deactivate macro group at the end of each macro in the group, it's fine the first time, but when you come to trigger a macro in that macro group again, nothing happens, it is deactivated. How do you get around that?
yes, both Ronald, but you are the Meister and I am the Dorftrottel !
In the meantime, my strategy is to delete all conflict triggers, regroup them in a macro group, and then as suggested by the brilliant @gglick use the Show Palette of Macros action to show the macros formerly in conflict palette because the show palette of macros automatically assigns the first letter of each macro name as a trigger.
I guess, my macro structure is a little different from yours. I activate several different palettes (for one action) with a shortcut. Each palette contains a lot of macros (e.g. a palette for text actions, one for window rearrangement, etc.). All macros in the palettes have simple letters as shortcuts. Copy-pasting the "Deactivate Group" action works for this setting as the palette will be generated again when I hit the palette's shortcut. But if @gglick's approach works for you - all the better. It's good to have options with this bug.
I made an additional observation regarding the conflict bug. Sometimes, triggering the bug, is "achieved" by calling a palette by it's shortcut and dismissing it right away with escape (without executing a macro in it). So the bug seems not connected to specific macros or actions.
Unfortunately, the shortcut-escape combo will not reliably trigger the bug. I just tried it a few times (with relaunching KM's engine inbetween). After triggering it five times in a row it went back to normal behavior and the palette's shortcut just worked as intended. In layman's word I would describe it as KM sometimes just does not recognize that an activated palette should be removed (or the mechanism of removing is somehow broken).
One last observation: I also have Karabiner installed. But the bug occurs also on shortcuts that do not involve remapped keys (e.g.: one of my "prone to be infected" palettes is called by cmd+F5 – and has worked ever since bevor KM 9.0.5/6).
I am sorry: I don't understand. If you deactivate the macro group at the end of a macro, then the macro group is inactive, and the next time you type the macro group shortcut, nothing happens. Another possibility until the next update of KBM would be an apple script triggered outside KBM which would deactivate→ reactivate all macro groups.
@gglick wrote excellent macros to delete, copy, paste triggers. If @gglick sees this he could perhaps tell us if it is feasible to create a macro which would add / delete an action at the end of a series of selected macros. Or even @peternlewis
I often use escape. To avoid it, I would need a keystroke alternative. I don't want to close the window manually. Do you have a suggestion ? Perhaps a macro in the palette that somehow closes the macro group ?
I also have Karabiner and did all kinds of tests: those you describe, and in addition taking it out of my login items and rebooting, and the problem persisted. Karabiner was the first suspect.
I'm still not sure if we are talking about the same thing, because my setting behaves exactly like that:
Invoke a Macro Group (with "show a palette for one action when hot key XY is pressed")
Execute a macro in it. The last step in the macro has the "Deactivate [THIS] Group" action
The next time I hit my short cut from step 1, the palette just pop's up fine and fresh.
Maybe the difference is that you have persistent palettes?
That maybe nice. For me, it would be "effort overdose". I'm conservative when it comes to adding "noise" actions to macros. I add that "bug swatter" step to the macros that trigger that bug as it pops up. Right now I have only about a dozen macros with that additional step and I'm hesitant to add it to all macros in my box (that would be over 1000). So, a few good ol' handy copy-paste steps get the job done for me just fine. (I made the observation that (for me) automating the automation routines adds a meta layer of complexity that often solves small problems by creating bigger ones).
I never thought about it, but this behavior feels right to me. The shortcut activates the Macro Group (= makes the contained macros active), the "Deactivate" action uh... deactivates the group - until it is reactivated by the shortcut again. On the contrary I would be irritated if the "Deactivate" action would kill the MG in a way that left no option to reactivate it again later.
As written before, right now it only purpose is to work around the conflict palette bug (that this thread is about): the conflict palette sometimes fails to deactivate the underlying MG (which is set to "show a palette for one action").
My suggestion is to wait if you can for @peternlewis to release the fix he has made for this.
If you want, you can get on the KM Beta group to get it sooner.
If you can't wait, then maybe here's an alternative:
Choose the [TM] macros that you use most often, and put them in a new Macro that uses the Show Palette of Macros action.
Put this macro in a different (new?) Macro Group, and disable the existing [TM] macro group (for now).
I am starting to understand. There is no perfect solution. That being said I prefer your solution.
Solution 1 is @medienmeister 's approach: to add deactivate macro group to all macros. In view of the number of conflict macros I have, it's a lot of work, and there is a possibility that I will have to reverse it all in the future
I created a new macro group containing macros which solely show palette of macros (former conflicting macros)
I created a multitude of macro groups, each one regrouping the former conflicting macro triggers.
This the solution that I am using, but to do so I have to make one sacrifice which is that I cannot assign triggers. The only triggers that I can use are the first letter of the macro name which KM assigns automatically.
I basically have 2 choices when it comes to the macro groups, each one regrouping the former conflicting macro triggers
1- Shows a palette for one action when:
I cannot use it because Show Palette of Macros will not trigger the macro group palette.
2- I must therefore use Always activated and shows a palette for one action when: , which works, but I have to delete all triggers because the macro group is always active, and the triggers ... trigger when I type them in an editor.
that being said, I prefer your solution and structure macro names keeping in mind that the first letter of each macro name is the trigger.
Thanks for the suggestion. I tried something similar first:
I removed the envoking hot key from my palettes (iow: the palette is enabled but has no trigger)
I created a simple macro with just the "Show Palette of Macros" step you suggested and gave it the hot key trigger that formerly invoked the palette directly.
(but I did not move or copy any macros)
So in short: I show the same palette via a macro instead of a direct hot key.
I did some back and forward testing. As of now, the direct trigger sometimes provokes the conflict palette bug, but the very same macros (and conflict palettes) behave fine when called by another macro. I will watch it further (unfortunately the bug occurs quite unpredictable – fingers crossed).
When this works it would mean a minimum of workaround effort as I would only need a handful of macros to show the buggy palettes.