Easily Create Conflict Palettes—Then Run or Edit the Target Macros, v2.1

Okay folks, if you are like me and love Keyboard Maestro Conflict Palettes (CP's), roll up your sleeves...

2022-06-13 UPATE: Created Version 2.1 of the Optional Enhancement

  • Bug fix: Delay is now up to 1 second as intended. With the previous version, the delay was up to 2 seconds.

  • Lowered the volume of the sound that is heard during the delay period.

  • Improved the macro comments.

2022-01-19 UPATE: Created Version 2.0 of the Optional Enhancement

  • Changed the name of this macro from :clock1: If started from CP by typing, wait up to 1 second for to :clock1: If macro started from Palette by typing, wait up to 1 second for. Also changed the macro group name from Conflict Palette—Optional Enhancement to Palette Trigggered Macros—Optional Enhancement and comments throughout to indicate that this macro can be used by macros that are launched by any Keyboard Maestro Palette (not limited to Conflict Palettes).

  • To serve as a reminder that the macro is waiting up to 1 second, added a low volume sound during that period. By default, it is the Morse sound set at about 20% volume. This can be adjusted three ways: 1) disable the Play Sound action—to fully mute, 2) adjust the volume, and/or 3) change the sound from Morse to one of the other choices.

2022-01-15 UPATE: If you don't fully understand Quick Access Palette or Keyboard Maestro Conflict Palettes, I suggest you start by reading this comment.

Leverage Quick Access Palette

The instructions in this post will allow you to use all of the great features of Quick Access Palette (QAP) to create typical CP's, but with one big improvement: if a macro name on a CP is ⌘+Clicked, the macro will be opened in the Keyboard Maestro Editor. Thank you, @DanThomas!


Optional Enhancement

I've had issues with repetitive stress injury from mouse overuse; thus Keyboard Maestro, in general, has been a godsend.

When I use CP's, my preferred method is to use the keyboard exclusively, that is, display the CP with the common Hot Key and then select the desired macro by typing one or more characters. Unfortunately, it's not practical to permit modifier keys like to be pressed when the selection letters are being typed, thus normally one must combine a mouse movement/click with a modifier press (e.g., ) to launch a macro with alternative logic (e.g., like QAP provides—running the target macro vs opening it in the KM Editor).

To overcome this typing method limitation, I've created a macro that includes a group of actions that can be optionally added to the top of each group macro created by QAP. If the group of actions is added, one can use the following sequence to run the alternative logic:

  • Press the Hot Key to display the CP.
  • Type the necessary character(s) to launch the underlying QAP-created macro.
  • Within 1 second, tap —the underlying macro will be opened in the editor (assuming the steps within this guide a completed). (During the 1 second delay, a low volume sound will be heard serving as a reminder that the could be pressed.)

Setup

If you haven't installed Quick Access Palette by @DanThomas, start here.

Duplicate the macro group: Quick Access Macro Editor Palette. For the new group:

  • Delete all items except the one with the 99) prefix.

  • Rename the group: QAP—copy group to create Conflict Palettes.

  • Change group icon from a yellow star to a blue star.

  • Change the group from Available in Keyboard Maestro to Available in all applications.

  • Rename the macro 99)Add Selected Macro to Quick Access Palette to: 99):pushpin: Create Conflict Palette

  • Disable the group.


Conflict Palettes

For each Conflict Palette you'd like to create:

  • Duplicate the macro group: QAP—copy group to create Conflict Palettes

  • Enable the new duplicate group and change the name to something meaningful for the Conflict Palette you'll be creating.

  • Use the macro 99):pushpin: Create Conflict Palette to create the desired group macros. You'll have all of the amazing features of Quick Access Palette when creating these macros. If you have Keyboard Maestro 10+, you'll be able to use the menu (blue star) on the macOS menubar.

  • For each of the group macros—excluding 99):pushpin: Create Conflict Palette:

    • Set the triggers to a common Hot Key.
    • In the If action, change are pressed to are not pressed .
    • (Optional) With the two changes above, each macro can be run from a Conflict Palette using the normal process. To add the optional enhancement, download the macros below and follow the included instructions.
  • Disable macro: 99):pushpin: Create Conflict Palette

  • (Optional) Use another @DanThomas gem, Palette Organizer, to reorder and group the macros in the macro group.

  • If you have KM 10+, do one of the following:

    • Change Display in menu bar to Do not display in menu bar, or

    • Change the group icon to something meaningful for the group (and to also distinguish it from the Quick Access Palette menubar menu).

  • Using the common Hot Key, launch your new Conflict Palette.

  • To run one of the target macros, use the normal Conflict Palette process—i.e., type the necessary key(s) to uniquely identify one of the palette entries.

  • To edit one of the target macros, do the same and, then within 1 second, tap .

  • APPRECIATE @peternlewis and @DanThomas for their expertise and hard work! :grinning:


Optional Enhancement

DOWNLOAD Macro File:
Palette Trigggered Macros—Optional Enhancement Macros.kmmacros (56 KB)
Note: A new macro group, Palette Trigggered Macros—Optional Enhancement, will be created. Open the group and read the instructions in: — Read Me First —.


Macro-images




Conflict Palette Native Behavior

When a Conflict Palette macro is ⌥+Clicked, the CP macro will be selected in the macro editor. This is a very useful native feature of Keyboard Maestro Conflict Palettes, but not to be confused with the features described above.

For more information, please refer to this comment.

4 Likes

Thank you for your post.

I am trying to emulate your model. I read all about @DanThomas 's QAP.
I have a few basic questions. These are questions, not comments or criticisms.

  • The definition of conflict palette is all macros have the same triggers. How does that apply to your palette.
  • Do I understand correctly for you forfeit the use of keyboard triggers for individual macros in the palette?
  • If you want to extend or generalize the use of the @DanThomas 's QRP, should there be at least two add macro options, ie either A- add a macro to the palette or B- create macro which simply executes the macro which you add ? If you start randomly adding macros to palettes, you will end up with a huge number of duplicates which in my experience is very difficult to manage when you want to make small tweaks to those macros.

Thank you again

Hi @ronald. Thanks for your questions.

Let me start by sharing a high-level summary of how I leverage @DanThomas's Quick Access Palette (QAP) to create Conflict Palettes. The bulk of this hinges on understanding the power of QAP.

  • QAP is installed in a new macro group named Quick Access Macro Editor Palette. The brains of QAP is in a macro named Add Selected Macro to Quick Access Palette which is configured to appear in the Keyboard Maestro Status Menu and (with KM 10+) on a dedicated group menu on the mac menubar. On the mac menubar, it appears as a yellow star when KM is the frontmost application.

  • You can navigate to any macro group in your KM Macro Library, select one of the contained macros, and then select the QAP macro (Add Selected Macro to Quick Access Palette) from either menu mentioned above. The QAP macro then creates a new macro in its macro group (i.e., the macro group that houses the QAP macro, NOT the macro group that houses the selected macro). Here's a sample macro created by QAP.

Keyboard Maestro Export

  • The name of the above QAP-generated macro will be some prefix (for macro group sorting) followed by the name of the macro that was selected immediately before the QAP macro was run. In the above example, the name of this QAP-generated macro is: 10)Augment or Filter Text. Below I'll refer to the original Augment or Filter Text as the target macro.

  • As shown above, each QAP-generated macro has two functions:

    1. Execute the target macro (if is pressed).
    2. Open the target macro in the KM editor (the default action).
  • So with QAP, you can build up a set of macros (in the QAP group) that target various macros throughout your KM Macro Library. This is a beautiful thing—thank you, @DanThomas!

  • None of the above is directly related to KM native Conflict Palettes. However, one could edit each of the QAP-generated macros and assign a common Hot Key trigger, e.g., ⌃⌥⇧⌘P. Then if ⌃⌥⇧⌘P was pressed, the Keyboard Maestro Engine would render a Conflict Palette that includes each of the macros that was assigned a ⌃⌥⇧⌘P Hot Key trigger. (Since this is standard Conflict Palette functionality, any macro in any macro group with the ⌃⌥⇧⌘P Hot Key assignment, would also be included in the rendered Conflict Palette). Now if one did do this, the Conflict Palette would function differently than most, in that clicking a QAP-generated item (or selection by typing—my preferred method) would open the target macro in the KM Editor, not execute the target macro. Of course, due to the logic within the QAP-generated macros, the target macros could be run by pressing before selecting the item on the Conflict Palette.

  • Okay, all of the above is related to QAP, not this tutorial: Easily Create Conflict Palettes—Then Run or Edit the Underlying Macros

  • In the tutorial, the basic steps are:

    • Duplicate the QAP macro group and rename it.
    • In the renamed group, rename Add Selected Macro to Quick Access Palette to :pushpin: Create Conflict Palette)
    • Use the renamed macro to build up a set of macros (in the renamed group, not the standard QAP group) to target macros of choice throughout your KM Library.
    • In each of the generated macros: a) assign a common Hot Key trigger, and 2) reverse the logic so that execute occurs by default and edit occurs if is pressed.

@ronald, with that background information, I think I can more effectively answer your questions.

See above.

No, macros that have a common Hot Key trigger (for use with a Conflict Palette) can have additional triggers*. This is one of the great features @peternlewis built into Keyboard Maestro.

*a macro can even appear in multiple Conflict Palettes.

Sorry, but I'm not sure I understand this question. However, assuming you follow the steps in this tutorial, Easily Create Conflict Palettes—Then Run or Edit the Underlying Macros, you'll be able to run and edit your target macros.

No, the beauty of @DanThomas's Quick Access Palette (QAP) is that it creates macros that edit and run target macros—it does not copy them.

1 Like

thank you VERY much @_jims . Extremely kind of you to provide such a detailed answer.

I am quite familiar with Dan's QAP, and have created my own variants.

For example instead of 2 options, I have 3 options: the standard two: goto and edit the macro, run the macro (⌘ above), and the 3rd I added which is ⌥ click on macro which goes to the macro → duplicate → edit the duplicate. This allows me to have a dedicated QAP palette containing only custom Template macros (example: cron reminders) without messing up the templates themselves when I create the new macro based on it.

I assign shortcuts to my QAP instead of the menu bar simply because I don't like clicking.

You are right and I was totally wrong. There is no harm in putting macro in multiple QAP because they are not like standard palettes: QAPs simply run macros. You 100% right.

I hope to be able to work with you to perhaps add even more features to QAP as needs arise. We don't need to be limited to these 3 options.

thanks again very much

1 Like

@ronald, you are quite welcome. I originally toyed with including more under the covers information, but eventually opted for the cookbook style to keep it short. But since you asked, and I replied, I inserted a pointer to the comment. Some others might benefit.

Nice!

Me too. I avoid the mouse, if possible. (About 10 years ago I had mouse-induced RSI. Since then I've moved to keyboard shortcuts whenever possible. My hand feels much better since the change. Thank you Keyboard Maestro and AutoHotkey (on Windows).)

Sure, it's always fun to collaborate.

1 Like

My first modification is to make the palette accessible by hot key switch at any time in any app. I find that it makes a big difference. No point in limiting access to Keyboard Maestro being active

I find that there are many times when I want to access the palette while in other apps.

1 Like

Yes, I agree; that’s a step I also included in the tutorial.

next steps

would be to try to think of everything you would want to do to a macro

  • go to and edit
  • run
  • go to → duplicate → edit the duplicate

try to figure out a system of sub-palettes because the main palette will soon become full
how do you think this would work ?

The Optional Enhancement has be updated to Version 2.0. See the OP for more information and the updated download.

The Optional Enhancement has be updated to Version 2.1. See the OP for more information and the updated download.