Enable a Macro Group Based on the Frontmost Application's Name?

I have some macros that are designed to work only within the Citrix Viewer app that live within a group which is set to only be available when Citrix Viewer is the frontmost app. I'm finding that the way that Citrix implemented updates causes there to be multiple Citrix Viewer apps on my machine, which confuses KM. To make matters worse I sync my macros between two computers, and often I find that the group is not properly enabled when switching from one computer to the other.

When I go into KM and look at which apps the group is enabled for, I can add another instance of Citrix Viewer to the enabled apps for the group and the macros start working again.

This is either a feature request or a request for a (better) workaround: Can a feature be added that enables a group based on the name of the frontmost app? (I don't know if it's currently based on the path to the app, its ID, or …)

My workaround is to add a "watcher" macro that runs every 10 seconds, and also has a trigger for when the frontmost window changes. It gets the name of the frontmost app, and if that's "Citrix Viewer" then it enables the group, or if not, then it disables the group.

This works pretty well, but sometimes is unreliable or has a delay enabling/disabling the group. Also I'm slightly concerned that KM is doing more work than it needs to do for this to work. A built-in way to do this would eliminate the need for my triggered "watcher" macro and simplify my configuration.


It is on the todo list. It is far from trivial, since applications are stored in many places, and it is somewhat of a UI nightmare to imagine how to deal with selecting an application, and specifying how to match that application (name, bundle ID, path, etc).

"Slightly". As in, how I'm "slightly" concerned about Brext...?

Excellent - happy to hear this, Peter. (Though not happy to hear that it's non-trivial.)

Also I wish Citrix (and other developers) wouldn't do this type of thing.