⌘ rcmd - Fastest app switcher to date

Hi everyone! :wave:

I created rcmd to solve my issues with Command Tab being too slow for my workflow.

It’s an app switcher where you hold the ⌘ Right Command key and press the first letter of the app name to switch to any app instantly.

I noticed that the ⌘ Command key on the right side of the spacebar is very rarely used so I dedicated it to app switching. The key is changeable to any other set of modifiers if Right Command isn’t good for you.

If you’re interested in technical writings, I have also posted an article this week on my journey to creating rcmd: A window switcher on the Mac App Store? Is it even possible?

Pricing: $5.99 on App Store (free trial available on the website)

Hope you’ll find it useful! :blush:

9 Likes

For those of you that also wondered about the pricing model: $5.99 CAD one-time purchase on the Mac App Store, free trial offered on website linked above.

Also, from the writeup linked above, seems like it relies on Hammerspoon under the hood for window switching to be available? @alinp32, can you confirm?

1 Like

Thanks for the details on pricing, forgot that :blush:

The Hammerspoon part is only for the experimental window switching, the app switching is native and doesn’t rely on anything.

Most people will not need that type of window switching and will be happy with the Cmd-Backtick macOS hotkey for cycling through windows.

I’m also working on Window Actions through the same Hammerspoon integration which can launch a specific window if it’s not already open (e.g. a specific document in Obsidian, a specific playlist in Spotify etc.)

So I’m expecting this to not be experimental anymore and become much more useful in the near future.

This is really intriguing.

What happens if I have two apps that begin with the same letter?

Right now I use a series of KM macros to switch to my most used apps, all with the same keyboard shortcut, and then type the first two letters of the app I want (via KM’s palette), with a few that have custom letters (such as ff for Firefox, since fi is Finder).

By default, pressing the hotkey again will cycle through the apps with the same letter.

But I ended up assigning custom keys to my most used apps using mnemonics so I can keep the “one-keypress” approach to switching.

Assigning is super easy as well, press Right Command + Right Option + letter to assign and the current app in focus will get that letter.

Here’s an excerpt from the FAQ:

What do I do if I have two apps with the same first letter (e.g. Music and Mail)?

Best way to handle this is to assign a custom key for the second app.

For example, if rcmd focuses Mail on + M and you want to assign + U for Music:

  • Focus the Music app
  • Press + + U

And that’s it, from now on you can use + U to focuse the Music app.


What does Cycle do?

If you have multiple apps with the same first letter, pressing that letter multiple times will cycle between those apps.

For example, if you have Safari, Spotify and Shortcuts running:

  • Pressing + S will focus Safari
  • Pressing + S again will cycle and focus Spotify
  • Pressing + S yet again will cycle and focus Shortcuts

And another useful one from the blog post:

Static assignments

Xcode is a happy case though. I have so many apps starting with S that I decided custom assignments might be a better fit for that. I left Sublime Text for the S key since it’s my most used app, and then assigned mnemonic keys for others:

  • O for soulver app icon Soulver
  • P for spotify app icon Spotify
  • E for sketch app icon Sketch (because K is taken by the kitty app icon Kitty terminal)
  • B for safari app icon Safari browser
  • Other rarely used apps (SF Symbols, Slack, Sublime Merge) will be reachable by cycling using rcmd-rshift-s (it’s good enough for me as I rarely have those open)

Seek and hide

Often I need to check the status of an app briefly and then get back to what I was doing. Some examples

  • kitty app icon check a long running task in the terminal
  • mail app icon check if I got an email I’m waiting for while notifications are paused
  • spotify app icon see what’s this dope song that started playing from my Discover Weekly playlist

That’s why I added the Hide action in rcmd.

Now I just hold Right Command and press K to check the kitty app icon Kitty terminal, then, without lifting any finger, press K again to hide it and get back to what I was doing.

This also allows the system to activate App Nap for the hidden app and put it into a lower energy usage state until I need it again.

I honestly considered the two keys approach at first but that meant adding a delay to focusing to allow for the second key. After experiencing the instant focus effect I couldn’t go back to that delay :sweat_smile:

1 Like

I enjoyed reading your blog post about rcmd’s experimental window switching a few days ago, great read! I’ve been following your blog via RSS since the post about how you built Lunar and the challenges involved.

1 Like

Put this on my todo list as soon as I read this topic, downloaded it ten minutes ago (monday morning 7:30 here), and I am already enthralled!
It’s not the key-combinations - I can set those up in Keyboard Maestro, Hammerspoon, or any good automation software - it’s the Settings GUI. It takes you three minutes to understand the handful of options, and then you’re off and running!

Instabuy!

1 Like

Thank you for the kind words! :blush:

I didn’t expect such a warm welcome!

@lkhrs About the RSS, only on this last article I realized how bad was my rss.xml so, sorry if you went through that. I went and fixed it and it should also include the full text article now so you can read it directly in your RSS reader.

@Shruggie Phew I’m so relieved to hear the GUI feels intuitive enough. It took a few iterations to have everything easily accessible while not being too overly complicated.

3 Likes

Interesting!

I have been using “HyperKey” + (first) letter to switch to / start Apps, but I’m running out of options…

(only 26 letters in our local alphabet)

2 Likes

Doesn’t work with number apps e.g. right-cmd + 1 doesn’t activate 1Password.

1 Like

One of the things I did to combat that was create a group underneath a single HyperKey+ grouping. So I activate my “switcher” by hitting HyperKey+A. Then a KM palette shows with all my apps and I can then hit M for Mail, T for Terminal, F for Finder, G for Things, etc…

You can even go a level deeper and make use of KM’s “conflict palette”. For instance, I have a few different “chat” apps. So I hit HyperKey+A, then C for chat, then S for Slack, T for Teams, M for Messages.

1 Like

I have never used KM conflict palettes (mainly because of the way they look…).

“⌘rcmd” definitely has an advantage in the way it looks (KM easily wins on flexibility though).

Curious what I will end up doing…

2 Likes

1Password is added as an exception by me inside the code because it appears as always running even when it doesn’t have any windows.

You can press Right Command + Right Option + 1 with the 1Password window open to force rcmd to use the 1 key for it.

2 Likes

the ‘switcher’ macro in Keyboard Maestro works well and fast, I customized it somewhat by exluding some apps: it is really a lot faster than the native switcher. I know what you mean about conflict pallettes however once you get fluent it works so fast that you don’t even see the conflict palette if the sequence is in muscle memory. Part of the use value of a conflict palette is to learn or have shortcuts you don’t use often enough to memorize at hand as it were I know. However I found you do learn most of them in time and really it just feels like typing the sequence of keys. I would give those palettes another try! :disguised_face:

3 Likes

This is pretty nice–thanks! Two questions:

  • Is there a way to map an app to two letters (i.e. assignment will not remove from the old letter. My brain seems to struggle with a couple multi-word app names.)
  • Any way I could pay you for a non-App Store download? I want to get it on a computer where the Mac App Store or multiple iCloud accounts isn’t a thing.

Ah ok thanks @alinp32 , can you add MacUpdater to that list too?
That also seems to be always running and if I close the window and do right-cmd+m it always opens a new window first (rather than Mimestream which is open on the desktop with a window,)

Yep, I’ll try MacUpdater and update the exception list in the next version, thanks for letting me know about it.

1 Like

Yes sure, you can assign an app to any number of letters. e.g. you can assign both rcmd-G and rcmd-C to the same Google Chrome app

There’s no way to do consecutive letters if that’s what you’re asking though (e.g. rcmd-G then press C, like the Keyboard Maestro macros that people are talking about above)

That might be added in the future.

About the payment, I have other means, but I don’t have a way of compiling a licensed copy just for you.

I can try that though if you can send me your machine MAC address privately.

3 Likes

I think I’ll leave 1Password unassigned for now - I can’t use \ as the letter, and nothing else fits…
Wait… P… Of course…
This forum is just like rubber ducking with other devs :smiley:

1 Like

A very nice app. Is it feasible to use it to kick off any kind of automation? I wouldn’t mind whether it was:

  • Shortcuts
  • AppleScript
  • URL