Dealing with non-Menu Bar Apps

Hello everyone,

This is my first post in this forum, glad to be here!

I’ve been using KM for some months now and I’m seriously starting to believe this is the greatest piece of code ever written. It is so comprehensive with seemingly endless features, yet it never feels bloated and no matter what you do, it always runs flawlessly with exceptionally low usage of resources. Thanks to anyone involved!

Having said that, I have three questions regarding KM:

  1. First and foremost, I’m trying to find a sensible approach to deal with app-specific shortcuts for non-Menu Bar apps (those apps that don’t appear in the dock). When setting up a macro group to be app-specific (as in “Available in these applications”…), the target app is the app that currently appears in the right next to the Apple logo in the menu bar. But what happens when I want to define a shortcut for an app that doesn’t have a menu bar? Examples are numerous: 1Password 7 mini, Cardhop & Fantastical 2 (if you choose to), TextExapnder, and more. Is there any way to do this?

  2. I’m having another issue that’s related to the above: some non-menu bar apps come with their own set of shortcuts. I’ve discovered that in situations when a non-menu bar app is the one with the keyboard focus, AND there’s a standard app WITH a menu bar active, AND there are KM-defined shortcuts for that ‘standard' app, the typed key combination will go to the standard app, rather than the (although frontmost and with the keyboard focus) non-menu bar app.

  • An example: I’ve set ⌘E to enable or disable the currently select macro in the KM editor. When I open the Fantastical 2, Cardhop or 1Password 7 mini-menus, and press ⌘E (the shortcut to edit the selected item in each of those apps), it is the KM macro that gets triggered — and the action I was hoping to do never takes place.
  • Another example: Through KM, I’ve configured in Mail that ⌘F will perform a mailbox search. If I’m in Mail and I pop Fantastical 2 and press ⌘F to search through Fantastical events — the mailbox search is invoked instead. Is there any way to remedy this?

Iv’e noticed that setting app-specific shortcuts in macOS’s System Preferences does not create those conflicts, and non-menu bar shortcuts maintain their own shortcuts. Nevertheless, I would rather stick to KM for its flexibility (in the sense that in KM, I can bind more than just menu item press to a shortcut) and macro sync abilities.

  1. On my Mac, English is my input source of choice 99.9% of the time. Sometimes however, I use Hebrew, and when it's the current input source, conflict palettes become practically useless.

Here’s an example:


As you can see, no letter becomes bold, and there’s no way to trigger an action. Is there any way whatsoever to force KM to use a specific input source? (LaunchBar, for example, has that option).

Thank you so much!

I don't know if I understood you correctly @rbrian...

Here is my Cardhop workflow:

I use a macro group where I use the same trigger for each macro. This creates a so-called conflict palette.
So I can only trigger a macro by selecting the first letter. You can also put a number etc. at the beginning.

The Cardhop conflict palette should function system-wide. However, if you want to limit it to one app, you have to do the following:

The advantage of this would be that you could also use your selected trigger in other apps.

Hey @rbrian,

The simple answer is you can't.

Keyboard Maestro is only able to isolate windowed-applications. (E.g. those applications that have a menu bar and a window or windows.)

Apple changed some things a few macOS versions back that made floating windows for background-only apps easier, but they also broke the ability for such apps to have context while their window(s) were in focus.

There are ways to work with these kinds of apps, but it's awkward.

You may want to look at this thread:

Working with the Pomodoro Menulet Application


A post was split to a new topic: How to Search 1Password and Open 1Password Mini

@rbrian, to address your specific need to work with 1Password Mini, I have posted the above topic. It may not provide everything you need, but perhaps it will be enough to get you started.

How to Search 1Password and Open 1Password Mini

1 Like

Thanks for the replies everyone!

I believe I’m well versed in conflict palettes and how to use them. It’s just that when the current input source is in non-Latin alphabet language, macros that appear in conflict palettes can’t be triggered, as I’ve shown above. Indeed I can prefix those macros with a number, but this doesn’t sit well with my workflow. I wish there was a way to force conflict palettes to use a specific input source.

That’s a serious bummer.
But what about KM being overly aggressive with the way it enforces its macros? (issue #2 in the opening post). This bothers me even more.

Thanks for the link! I was well aware of the 1Password URL scheme, and even used it for a while, but it’s only a partial solution:

  • Compared to the “native” 1Password Mini search feature (⌥⌘), the URL scheme-way briefly makes 1Password the active menu bar app. I almost always use this feature while working with other apps, so it’s kinda annoying, but I’ll reconsider its usage.
  • This approach doesn’t work for 1Password auto-fill feature (⌘), which never makes 1Password the active menu bar app. I use this feature a lot more than the former, and if I could find a way to define a custom KM macro group just for it — it would be great.

If by "auto-fill" you mean that when you press the 1PW hotkey it autofills the username and PW on the web form, then all you need to do is use the KM Action Type a Keystorke using the 1PW hotkey.