How do I create a group specific conflict palette

@appleianer

The brilliant Appleieaner uses a very intelligent workflow method, namely a group (app) specific conflict palette which minimizes the necessity of remembering countless keyboard shortcuts.

I created an Evernote group containing multiple macros, all of which are activated by the same trigger (Cmd-Keypad '.'), but when I type the trigger in evernote nothing happens (no conflict palette appears)

thanks very much for your time and help

example: when I run this macro from my Evernote group after highlighting a sentence that I want to use as a title, all is does is replace the sentence with the number '2' instead of copying the sentence in the title field.
Note that Cmd-L navigates from the body to the title of the evernote note.

there is obviously something that I don't understand.

palette:

That macro does not have a trigger. You need to add the Hot Key Command-Keypad Period trigger to each macro, not to the macro group (which should just be active in the target application).

1 Like

Thank you Peter. It works fine now.

I would like to have my own floating menu (conflict palette) permanently displayed in certain apps where shortcuts are numerous and more difficult to remember.

The only problem I have with this solution is that the conflict palette disappears each time I trigger a macro within it.
For example, if I choose to trigger the send macro below, the palette automatically closes.

Is there any way that the palette would remain visible and active until I close it (for example type the hotkey a second time)?

thanks very much

Absolutely, but you won't be able to use a conflict palette for this; instead, you'll need to give the palette its own hotkey. To bring it up for multiple actions and only have it be dismissed when you hit the hotkey again, you'll want to set it to this option:

However, if you use the same trigger for every macro in this group, then invoking a macro from this palette will simply bring up a conflict palette on top of this one, requiring multiple keystrokes instead of one. To get around this, I'm afraid you'll have to remove all the conflicting triggers from the macros in this group and assign them new ones. Fortunately, there's also some good news about this part.

First, I happen to have written a series of macros that can copy, paste, and, more importantly for your purposes, batch delete triggers from all selected macros, so these should make it very easy to remove all the conflicting triggers from your group. You can find those macros here: Copy, Paste, and Batch-Delete Triggers - #12 by gglick
(they do require KM8, but I can see from your screenshots that that's what you're using, so you should be fine)

Second, when using a palette of macros in this way (specifically, only having them be active when the palette is open, as opposed to always activated and showing the palette as per the option shown in your screenshot) you can assign each macro a single key as its trigger. Generally, you'll probably want to make these the same as the first letter of the macro in order to simulate how the conflict palette executes conflicting macros, but of course with this method, you can also set them to any key you like. As an example, here's a palette of macros I use with this method:


If you'd like to read a bit more about how palettes work and your different options for them, you can find that info here: manual:Palettes [Keyboard Maestro Wiki]

Feel free to ask if you have further questions!

1 Like

@gglick @appleianer

Everything works perfectly with your system which had been suggested by both Appleianer previously and in your new Post.
The reason I was so confused is in relation to the configuration of the triggers in the individual macros.

For example, I noticed that macro execution seems to be sensitive to checking or unchecking the _simulate one delete before executin_g checkbox.

Take the macro below:
1- if simulate one delete is checked, the macro output consists of just typing the letter 't'
2- if it is unchecked, it performs correctly, namely plugging the highlighted text into the title field

It took me 2 days of troubleshooting to figure this out (would have taken either of you 1 minute)

I would be grateful if you could help me understand the use and meaning of simulate one delete.

Thanks very much and kind regards

Ah, I see that I wasn't clear enough in my explanation of the single key triggers. Sorry about that. The trick with these is to use hotkey triggers, not typed strings, which is what you're using in your screenshot. As an example, here's one of my own macros from the palette example I showed you in my last post:

First, to clear up one thing: it's only "simulate one delete" here because you're using a single letter for your typed string trigger. By default, typed string triggers offer to delete every character of the typed string, so it's really "simulate n deletes", as you can see in this example from my own macro library:

Simulating deletes means that every character of the typed string will be deleted as if the user had pressed the Delete key that number of times. The reason why you would want to use it is so that the string used to trigger the macro does not remain in the text entry field that you're working in (as an example, in the macro I show here, I don't want to actually keep ";surl" in an email or post, so simulating the deletes gets rid of it for me). Hopefully this makes sense!

Although hotkeys and typed strings can of course both be used to trigger macros, the former can be used essentially anywhere, whereas the latter should only be used in apps and situations where you know you'll be working in a text entry field. Depending on where you were using these macros with typed string triggers (i.e. if you were in a text entry field or not) I think that would explain the macro execution sensitivity you were seeing. Your kind words are appreciated, but I'm far from the most technologically savvy KM user here, so I can only elicit a guess as to why deleting or not deleting the typed string in a typed string triggered macro would have such an effect on the macro's execution, but: I can certainly imagine circumstances in which after the string is typed, the macro tries to delete the typed string when checked, but since it can't do so when you're not in a text entry field, the trigger fails and thus doesn't touch the typed string, so the string remains un-deleted and the expected macro doesn't run. Hopefully my guess is at least somewhere in the ballpark of what's happening!

At any rate, I would suggest replacing these typed string triggers with hotkey ones as per my example (again, since these macros will only be activated when the palette is visible, using single keys for triggers like this won't interfere with normal typing, and can thus be used without additional modifiers) and see if that doesn't improve your setup (though it does sound like you've got it working now regardless, which is good to hear, but I would still recommend the change anyway just for reliability reasons).

1 Like

Thanks very much for your most intelligent and detailed post.

I have made a lot of progress:

  • strings and delete: I understand. If I use a string as a command, I will want to delete it.
  • I replaced the strings with hotkeys.
  • I read the wiki on palettes

The issue now becomes a question of workflow.
Let's assume I have
-an Evernote group (it could be any app) with a shortcut to activate that group's palette

  • I activate the palette in Evernote, and I end up, as I want, working in Evernote with the palette permanently (as long as Evernote is active ie for that session of evernote) displayed.
    For me, the palette serves both as a menu of hotkeys and as a reminder of what commands are available.

This approach creates another problem: let's take the letter 's': it serves both as a letter of the alphabet when I am typing in Evernote AND as a hotkey to trigger a macro in my displayed Evernote macro group palette.
If the palette is active and displayed, I can no longer type 's' in an Evernote note: the letter 's' is reserved as a hotkey trigger which does not make sense. How do you tell the system : 'this is the evernote palette 's'' or 'this is the evernote wordprocessor 's''

thanks again very much

You're very welcome. It's true, if you're going to have a permanently activated palette of macros open when working in an app, you can't assign the macros in them to single letter keys and expect to type as usual. My apologies again if I wasn't clear about this either; in the example I showed you from my own library, that palette is set to only be shown for one action, so those single key macros don't interfere with my ability to type, but in your case, since you're using palettes as a constantly open menu of hotkeys and reminder of what commands are available, you'll clearly need a different approach.

First of all, are you aware of the different palette configuration options, including the one to show the triggers of the macros it displays? I'm sure you have some experience with these options since you've changed the palette's color scheme, but just to be clear, here's what I mean:

In your case, I would suggest that you change the single hotkey triggers I recommended earlier to more standard modifier based shortcuts that don't conflict with any of the app's built-in shortcuts that you want to use. When set up this way, the palette will show the hotkey triggers like this:

To try and be extra clear, this modifier key-based shortcut system is what I recommend for palettes that are open semi-permanently, such as those set to be shown and hidden with the same hotkey. Palettes that are set to only be shown for one action are those best suited to single key triggers as per my earlier examples. Apologies again for any confusion I may have engendered before, and for making you go back and forth changing triggers willy nilly!

Thanks very much for a superb Post.
It works fine now with Hot Keys in a one action palette, and I am content with that in view of your most recent Post.
Not having the palette semi permanently displayed is a trade-off I accept.
I think that changing back to a modifier key-based system would be (for me) the tipping point. My whole project would evolve into the dreaded (I have been there before) huge number of cryptic modifiers-keys combinations. In the apps I use such as Scrivener and SimpleMind, with a huge number of commands, it would be a nightmare.
I think that the next step goes in the direction indicated by Appleieaner, that is to find a very quick way to call up palettes in the first place, and BTT is a prime candidate.
With a simple swipe, I call up the palette and execute the macro.
thanks again very very much.

Happy to help. I agree, using palettes for one action with single letter hot keys like this is a nice alternative to piling shortcuts on top of each other, as a single shortcut can effectively have multiple permutations that line up well with how your mind works because you set up every one yourself.

One last tip I can offer on how to call up palettes is to point you to the new gesture trigger: https://wiki.keyboardmaestro.com/trigger/Gesture
I haven't used it myself (yet), but in theory it should be able to let you summon a palette with a swipe without needing to bring in another tool like BTT (though of course, there is a lot that BTT can do with mice and trackpads that KM can't (yet?) so there's nothing wrong with using it for that functionality if the new gesture trigger doesn't quite work for you).

If you do decide to try a native KM gesture trigger, be aware that (at least as far as I can tell) you can't assign one to a macro group directly. Instead, you need to create a new macro just for the purposes of activating the macro group as a palette and assigning the gesture trigger to that:

Also be aware that since you won't want this "Show macro group" macro appearing in the palette, you'll need to create another macro group just for the app(s) you want to restrict the palette to.

Thanks very much for the tip about gestures, and the workaround to use a gesture to call up a palette. For the latter (group palette), I have the impression that at this stage BTT is better. In addition perhaps better for me to keep my inventory gestures centralized.
Once again, I am extremely grateful.
Funny thing with gestures, that I only came to understand after using BTT for a while. Out of a long list of possible gestures, only a very limited numbers are ‘realistic’, for me at least. For example, I used to use all the repertoire of single or multiple taps located to a specific area of the trackpad, and ended up accidentally triggering macros all the time, simply because I don’t look at the trackpad when I gesture - I don’t know if I am tapping close to an edge or corner.
I now limit myself to a few clear cut gestures, and add, as suggested by Appleianer in a previous post, keyboard modifiers to those gestures to increase the number of gesture commands.

1 Like