Feature Request: Add full text search in 'Execute a Macro'

Apologies for the long post, but I really wanted to make a complete case here...

The Issue
'Execute a Macro' makes me scroll through my huge list of groups and macros to find what I need.

For me to find whatever macro I'm looking for – I have to remember the group the macro is in. Did I put it in my 'Display' group? Did I put it in the 'Window' group? Did I put it in 'System'?

Here's what I'm up against when selecting by Group or All Macros:

Off I go looking through all my groups and taking forever to find it. This is a major bottleneck in my macro creation flow :frowning:

Anticipated suggestion #1
While setting the macro to execute, you can always hover over 'All Macros' and type the name of the macro

Problem: This only works if you remember what the name of the macro starts with. If the thing you remember is in the middle of the string - you're screwed. This happens to me 95% of the time,

Anticipated suggestion #2
If you don't know the group, you can look it up by selecting 'All Macros' in the Groups pane and use the search bar (in the top right).

Problem(s):

  1. It takes me out of the macro I'm currently writing
  2. Once I've found the macro I want to use, I have to navigate back to the macro I was working on. I suppose the 'Back' history button comes in handy here - but there is often latency when navigating this way and I don't always find it on the first try - so I may need to go back [2 - X) times. Then I'm suddenly searching for where I was in the first place!
  3. Once I do get back – I have to find and select the macro I want to use after already searching for it in another capacity.

All 3 of these points are also opportunities for me to forget what I was doing.

It's just too many steps and interrupts my flow when writing macros.

Ultimately my goal is to keep the focus on the macro I'm currently working on.

New Implementation Options

Option 1: Include macro names in the results of an 'Add Action' search (Ctrl-Cmd+A).

Yes, I know this shortcut is for actions, but there could always be 2 search result sections.

The first section would consist of the legacy 'Add Action' behavior. This shows search results for actions only as normal and is labeled 'Actions'.

The second section would have a label like 'Execute a macro...' with the names of macros populating in a list below it. This list updates as you type. Selecting from this list would insert an 'Execute a macro' action with the macro field prepopulated.

Something like this (a quick 'n dirty rendering but you get the idea):

If we are concerned about 2 results sections being too confusing for some users - then maybe add a checkbox in the 'Add Action' search. Something like "Include macro names in results", with the default being OFF.

Option 2: Add a search bar filter somewhere in the 'Execute macro' field

This would work similar to the 'Add Action' search where the user can type any part of the macro name and it will show up in the results - not limited to macros only starting with the search term.

Not sure how to illustrate this one because the current implementation is a relatively simple list hierarchy selector. It would have to somehow fit in the view of the first image I posted above.

I don't like this as much as Option 1 because I still have to search for the 'Execute a Macro' macro and then find the thing I want.

I would rather just find the thing I want immediately, regardless of whether it's an action or a macro – but I understand that mixing actions and macros might be a non-starter, so I included it here.

Suggestions?
I'd appreciate any other suggestions – either for improving the current implementation or working within it – but keep in mind I would REALLY like to be able to do this in a single step without having to remember groups and full names or go search elsewhere.

Hey Greg,

What version of Keyboard Maestro do you have?

KM 10 added “Select Macro by Name”:

image

-Chris

1 Like

9! How does it work? What's the next screen? I'll be buying 10 either way eventually I suppose

It works like the trigger macro by name action, except it inserts the macro.

2 Likes

Very nice! Good progress and definitely something I'll make use of as soon as I get the cash to upgrade. Many thanks for showing it!

Although I will still make the case to pull it back one more step and combine them with the Ctrl-Cmd+A action lookup. It makes sense to me because macros are kind of like "super actions" and putting them in the same place as my brain thinks of them would help my flow.

1 Like

That won't happen – Peter would never mix and match interface elements like that.

However...

You're using Keyboard Maestro, so you don't have to live with the status quo.

You could roll-your-own Insert Execute Macro by Name command by leveraging @DanThomas' macro below:

MACRO: Go To Macro by Name (Spotlight)

Dan's done the heavy lifting. All you'd have to do is get the macro's UUID and then create the new action on-the-fly with AppleScript and the appropriate XML.

This would be relatively easy to do.

-Chris

2 Likes

Oh well. I'll hold out for flexibility in the future then.

In the context of macros really just being "super-actions", it would be nice to have them all in the same place - especially now that KM 10 lets us use subroutines more like traditional programming functions with parameters and return values.

Probably a lot more 'Execute a Macro/Subroutine' calls going on.

It's not without precedent - Apple's own Spotlight mixes file types in a reasonable way:

I think I must have subconsciously been thinking of spotlight when I made my crude design pic above.

I know not everyone will want to mix search result types, but we could always control for that by giving them a setting or a checkbox.

Something like this right in the Ctrl-Cmd+A window:
:ballot_box_with_check: Include macros in action search

Make it unchecked by default and some will never notice it changed :sunglasses:

I'll check it out, thanks! Excited to play with it :+1: