Enable macro group in one specific Java app only doesn't work

I have this Java app CafeTran Espresso and I've written a lot of macros to use in CafeTran Espresso.

However, there's one tiny issue with the macro group that I've assigned to the macros for CafeTran Espresso, namely that I cannot use the setting:

I guess that this is because CafeTran Espresso is a Java app (that has been integrated into macOS quite well). From a previous post from @peternlewis I remember that he's no fan of Java apps on Mac and has no intentions to adapt KM in any way to facilitate Java apps. I can understand that.

So I've used the setting 'Available except in these apps:' and it works good, but the list is getting large and every new app has to be added:
Screen Shot 2022-04-23 at 08.25.46

Perhaps someone can come with a smarter approach?

It isn't that I am not a fan - it is just that Keyboard Maestro does not do anything special as far as Java applications, and so they work only as well as the system supports them. And the system is reducing support for Java apps over time, and thus they tend to work less and less well over time.

As far as this particular issue goes, I don't know why the CafeTran app does not work in this regard, and if it does not work (with the any of the various options for how to match applications), then your solution is as good as it is going to get.

Hey Hans,

Have you talked to the developer?

I think (but may be quite mistaken) that some small parameter was left out of or mis-set in one of the app plists...

I've seen this happen from time to time (infrequently) with other Java apps.


Have you talked to the developer?

Only via this forum post.

I mean of CafeTran.

1 Like

I running Mac Catalina.
I installed CafeTran Espresso just to test it out as you describe.

I activate the macro when CafeTran is active and the macro did trigger

Generally Java applications that behave like the normal Mac app (with .app extension) will be recognized by KM.

My issue is that when the group is set to be active in CT only, it will fire in all other apps too.

I'm not sure why it happens on your mac. But for my case, I can confirm that it works correctly. The macro only trigger if CafeTran is active app, and ignore if other apps are active.

My question is can you try to do what I have done. Just create that group, and only activate if CafeTran is active , and just add a simple macro under that group, and trigger it while the app is active ( simple alert action can do), and check if it trigger under other apps too.

Just to confirm

  • What mac os you are using?
  • You are KM 10?
1 Like

Thank you for taking the time to download the app and trying to reproduce my issue.

I have disabled my group for CafeTran Espresso, created a new one, created a test macro and guess what ... Keyboard Maestro behaves exactly as it is supposed to do (what's new ;)).

I'll move all my macros from the disabled group to the newly created one soon, and see what happens.

Thank you!

BTW: I've never seen the text '(when CafeTran is at front)' before.

I'm happy to tell you that after creating a new macro group for CafeTran Espresso and setting the group to work only in this Java app, everything works as it is supposed to do.

I've moved all my macros from the old group to the new one.

1 Like