Why Do You Love Keyboard Maestro?

I will start.

Firstly, I came to KM from Alfred as I was always intrigued by what KM can offer that Alfred couldn't. After some time I realised that KM really complements every single application that I use on my Mac. It enhances my workflow but above all it gave me the freedom to really think in a new way. It allowed me to manage complexity and different workflows of each application by allowing me to make my own macros with KM's standard library of macros that is immensely powerful. Together with Karabiner, I now operate every single application from my keyboard. I have extended my library to include so much that I would really love to share with you some of the things I managed to achieve to make with KM thanks to this wonderful community and this amazing tool built by @peternlewis.

I love to structure my things. I group macros by their function and scope and I love prefixes. (a: for app specific, g: for general, p: for play).

As an automation tool, at first I found creating macros for specific groups took too much time (clicking through things is annoying). Fortunately this community has a lot of really smart automation applescript wizards. One of them is @DanThomas. He created a couple really neat meta macros for KM editor itself. The two things I missed the most were added by him. I can now search for any group from KM and go into it from a launcher interface as well as go to any macro I have in KM from same interface :

This was really huge and eased up my experimenting and quick prototyping of KM macros, editing of them, adding new ones and so on. He also created an amazing macro of favouriting actions users most often use. These three macros are essentially KM ver 8 for me already.

As you could probably see, all of my macros had prefixed added to the name of the macro with the scope of the macro (which app or group macro belongs too). This is intentional and I use it to sometimes search through and run macros from Alfred workflow.

As well as of course searching for macros to go to from KM editor itself from one of Dan's macros. Problem I had though was writing out these prefixes on my own every time. Life is too short for that. So again with amazing help from this community I was able to make this macro that does just that for me.

Here is the macro for it. And preview of it :

How awesome. Now KM can be consider a proper automation IDE. With great search for action hotkey :

I could do everything and do it fast. So here is what I did that changed my workflow the most and what I use KM mostly.

Search by Image. Wow. In some apps you simply can't get to everything using hotkeys and you are forced to use the trackpad which I very much dislike. This can often be avoided by using find my image macro. For example Hazel doesn't have any hotkeys in the app. If you want to create a new rule, you have to use your mouse. Well this can be avoided by simply doing this :

Here are all the hazel macros that I use. I hope sharing these macros like this works. Tell me if it doesn't. :slight_smile:

I started using this search by image functionality more and more as I bring more and more actions away from trackpad and map it my keyboard which has enormous freedom and efficient thanks to Karabiner.

My most used case of KM is most certainly as an application switcher.

This alone saves me probably hours a months from switching between apps. The cool thing about it is that I map an action that will both open and switch between that app on the same hotkey. I press and hold w key and press k and Safari opens. I do this again, and switch from Safari to previous app. I can't tell you how amazing it feels to operate my system now and I have a lot of apps.

I also use KM for some string manipulation. Macros like these :

Simple but so very useful.

KM also has macros that trigger on application launching. I use this macro in this context as I type in both Russian and English and I never need Russian when I am using the shell.

Here is one awesome macro that I use multiple times a day. It gives me an url of a link that Safari currently has open :

And here is another one that was made thanks to @ccstone and @JMichaelTX. It opens first / second / third link from google from a hotkey.

I use it all the time now and it saves me another countless hours from my life. I still didn't figure out how to transfer the script to work in youtube, reddit but I will get there.

I also love clicking various buttons from a hotkey. I see what most often buttons I click on the web and add them to my macro like so :

Will need to improve this using a switch statement as @peternlewis suggested but for now this works and I love it.

So yeah these are my most used macros that I use in KM. I really want to thank this community for helping me solve my little problems and bare with my newness to this whole thing of programming and making things happen with code. I appreciate you help. @Tom @DanThomas @ccstone @JMichaelTX @MitchellModel and every one else. The awesome thing is that this all just the beginning and as time passes more and more Alfred workflows, KM macros will be added to my arsenal. How awesome is that?

So I hope some found this post interesting and insightful. I consider myself a heavy user transferring into the realm of making my own tools and applications to help solve problems with software that I and hope few other people have. I want to ask anyone who read this to comment with something similar on how do you guys use KM to solve your problems. I love workflows and would love to hear yours.

Thank you guys. p.s. this was long :smiley:


Holy. Moses. Some interesting ideas here! Thanks for the share!

1 Like

That is my goal, too.
Please write more about how you combine Karabiner and KM.

I have Karabiner and Ukelele here, but don't know how to use either.
My goal is everything possible in KM, and only if not possible, will I look for something else.
In what situations do you leave KM and do something in Karabiner?

Instead of typing "safari: " every time, what about just the prefix, "sa "?
Wouldn't two characters plus a space (without ":") be sufficient?

Very nice.
I will add your idea to my app switchers.

Thank you very much, @nikivi.
I also type in two languages, and, until you mentioned here, I didn't realize KM had an action to Set Keyboard Layout.

I've been using System Pref > Keyboard > Shortcuts > Input Sources, because it can toggle between one language and the other.
But I'd like to move everything possible into KM, so all in once place, easy to find
Your macro above is the way to do that.

It gives me an url of a link that Safari currently has open :

I can use that immediately.
Many times a day I switch from Firefox browser to DevonAgent browser.
Always ⌘-C the URL first, then use KM macro to open DevonAgent and paste that URL.
Your way to acquire the URL is more efficient.

I hope you will write more long and thoughtful posts like this.
(Even if such posts use hours of my time for revising my own macros! :smile: )

And I thought I really got a lot out of KM! You’ve got some great ideas there.

I tried downloading your Hazel macros, but the file host reports no file at that URL when clicking download. Maybe you could post your macros as an attachment to this thread? I’m really curious about them.

1 Like

I actually don’t know how I can share multiple macros. I tried selecting all and dragging to desktop and dragging here but it doesn’t allow me to do that. I guess I should ask @peternlewis how can one share multiple macros with people. I can’t find an easy way to do it.

Select the macros you want to upload, and then do either of the following:

  • Click on the "Share" button
    • Then CUT the file upload code from the new Topic, and paste into an existing topic


  • File > Export Macros
    • Then drag the exported file to the KM Forum post

Inside KM, select the group, not a macro within the group, and go to File > Export Macros. That will export the entire set.

Better is to do this: with the group selected, go to the below button and choose Keyboard Maestro Fourm. Your macros will be exported AND uploaded to this forum.

I actually tried that I don't get all the links. I get this :

After you click on the Share Button, be sure to click on the "Both" button:

[quote="JMichaelTX, post:7, topic:5354"] (Edited by @Mark so if any mistakes blame me.)

1. Select the macros you want to upload, and then ...

2. Click on the "Share" button

3. Click on the "Both" button.

4. CUT or COPY the file upload code from the new Topic, and PASTE into an existing topic

Hello- World!.kmmacros (1.2 KB)

This is quite useful.
Thank you, @JMichaelTX, for your patience to explain details.

I am not as much a power user of KM as others on this thread, but I use KM a lot in these ways:

My company supplies me with a MacBook Pro that I use at home and at work. I use KM macros named “Arrive at work” or “Leave home” or “Arrive at meeting” to change my network connections, mount/dismount remote drives, set the volume, etc. This is convenient to manage the details as I switch work contexts. No big deal, but I use them every day.

I use KM macros to position windows on the screen, probably hundreds of times a day. I like to move windows to the corners or resize the height or width of a window. I take advantage of a happy coincidence: since I have keyboards that have a numeric keypad, there are about 20 extra keys, conveniently laid out for window control. I map the eight keys around the “5” key so that they move windows right/left, up/down, or to the corners. I also map the wide “0” key to “make current window as wide as possible” and the tall “enter” key to “make current window as tall as possible”. Now my tiny brain doesn’t have to remember any complex keystroke combinations. The macros have enough smarts to function even though my external monitors at home and at work have different sizes. What if I don’t have the keypad, like when I’m using the built-in keyboard on the laptop? I chose a key on the home row and mapped the eight keys around it so work like the ones around the “5” key on the keypad, but only when I press Control, Option and Command modifiers.

I also use KM to automatically correct things I often misspell. Like I often type “pnig” instead of “ping”. Also, I often misspell my name (!!), so KM makes a “ding” sound and fixes it.

Keyboard Maestro: what a great tool!


[quote=“siemsen, post:12, topic:5354”]
I use KM macros named “Arrive at work” or “Leave home” or “Arrive at meeting” to change my network connections, mount/dismount remote drives…[/quote]

I like that idea.
Thank you for explaining.


Very useful idea.
I just bought a wireless “full” keyboard to use with my MacBook, so I will follow your approach.

If you can find the time, may I ask you to post those in the “Macros” section here?

Ok, I posted my window mover macros to the “Macros” section.


For those without a numpad, I have taken this approach to resizing windows on my laptops:

Why do I Love Keyboard Maestro?

Because it lets me do the impossible and make it look easy.

(“Mission Impossible” theme playing boldly in the background…)



1 Like

:smiley: Yes.

And I’ll suggest a small amendment to that idea:
You can do it entirely on your on initiative.

No rules and regulations.
No peer review.
No teams.
No political correctness.

None of that.
Just KM + your individual creativity.

These days, software is one of the few areas left which allows a full range of creative freedom.

I know it’s not a design goal of KM, but it sure is a benefit.

Of course it is a design goal. Keyboard Maestro is designed to let you control your Mac the way you want it, to make it behave the way you want it to behave.

No where is this more clear that what people have done in controlling the Keyboard Maestro editor itself, which is far beyond what I would even have thought possible.

Keyboard Maestro’s goal is to make life on a Mac more productive and also more pleasant.


I’m a QuicKeys refugee, so I’m delighted that KM is so robust, rationally engineered and vigorously supported.

I’m only just starting to plumb the depths of KM’s potential, but I love this app.

One of the simple but incredibly helpful tricks I use is to have a notes document holding reminders and recipes for a given app, and have KM open it whenever I launch the app. So when I learn an obscure ninja trick in Photoshop, I just add it to the Opening Notes, and it greets me every time I launch PS. I also have a macro that closes the notes when I quit the app.

Another prime function of KM for me is to take the bumps out of poor app design. I use a fair amount of industry-specific software, and some of it has a pretty crude UX. I try to convince the developers to refine the interface, but often they are just not interested. KM allows me to make my own controls, use control devices and on-screen palettes. I spend less time trying to persuade developers to do their jobs better, and more time being productive.

Thanks Peter!


@nikivi can you post your edited Alfred workflow that allows you to execute macros without typing km before?