2 minute read

I love AutoHotkey (AHK). Ever since I discovered it a little over a year ago I am constantly surprised and pleased with what I am able to accomplish with it. And there in lied my problem. Out of the box, AHK allows you to trigger your own scripts using hotkeys. My problem was that I had so many of these little (and some large) scripts to do so many things, that i quickly ran out of hotkeys to use that wouldn’t interfere with other application’s shortcut keys (Visual Studio anyone); also even if I had more hotkeys available, trying to remember which ones did what was a nightmare. To remedy this, I created AHK Command Picker.

AHK Command Picker is really just a little UI that allows you to quickly run your scripts; so instead of using a hotkey, you just hit the Caps Lock key to bring up the UI, and then start typing for the script that you want to run. It provides Camel Case filtering to still make launching scripts super fast, and also shows your scripts in a list, allowing you to browse through them. It also allows to you easily pass parameters into your scripts, which can be used to change a script’s behaviour. Here’s a screenshot showing the UI and some of the many scripts that I have:

AHKCommandPicker-AllCommands

And here’s a screenshot showing it filter the list as you type:

AHKCommandPicker-FilteredCommands

One of my favourite things about AHK is the community. There are so many scripts out there that before you write your own code, you should just do a quick Google search and chances are you’ll find someone who has already written the script for you, or one that is close to your needs and can be quickly modified. I assumed this would be the case for the type of tool I was looking for. So I searched and came across HotKeyIt and Keyword Launcher, both of which were interesting and neat, but neither provided a GUI to quickly see your list of scripts so that you could launch it quickly. They still relied on you to remember your specific hotkeys; I wanted a list that I could browse my scripts from to easily launch them.

I love programming and learning new languages, so I thought I’d give creating the type of picker that I wanted a shot. It’s still not perfect, and I have many ideas for new features that could make it better, but using it as it is today has improved my productivity so much. I’ve shown it to some people at my work and many of them started using it and agree.

If all you are looking for is a program to quickly launch applications or open files, then I would recommend KeyBreeze. It’s a great little free app written in C# and is very polished (and much better than Launchy in my opinion because you can add ANY file/app to it via the context menu). But if you use AHK and want to be able to quickly launch your own scripts, definitely check out AHK Command Picker. Like myself you will probably find that you go from using AHK to launch 10 – 20 scripts, to using it to launch hundreds or even thousands of scripts, saving you time and effort constantly throughout your day. Those things that you maybe only do once or twice a month and didn’t want to dedicate a hotkey to will start showing up in your scripts list.

So go ahead and give AHK Command Picker a try, and be sure to let me know what you think of it and what improvements you would like to see by logging it on the Codeplex site.

Comments

Ryan

This is really well done. I’ve been rolling my own implementation of the same kind of setup using my own AHK scripts and the aging Slickrun (http://www.bayden.com/slickrun/). I had thoughts of creating my own program like this before - and yours seems to have a lot of great ideas.

There are a couple of little things about the program that, in my opinion, could help.

  1. Settings option to change the hotkey used. (Capslock for me moves the current window to the next monitor)
  2. Support for Windows key commands - Win + Shift + Right to move the window to another monitor (Specifically my capslock key can’t move the window)
  3. Opening Location A. Be able to set the default position where to open (Such as 0,0) in the settings B. Open to the monitor where the cursor currently is
  4. Maybe include an alternate gui mode where the autocomplete window pops up like Intellisense in Visual Studio and the program is just a one line app (more akin to Slickrun).

Those are just a few ideas I’ve had initially. I really really like the foundation you have, and some of the supplied commands are really smart (like the URL shortener). Whats more, thanks for sharing the source so I may play around and look to add some of the above changes I mentioned. Thanks for sharing this!

deadlydog

Hey Ryan, thanks for the great feedback and suggestions :) Your request #1 is pretty easy, you just just need modify the line in AHKCommandPicker.ahk from

CapsLock::

to whatever key you want to launch the picker.

Requests 2, 3, and 4 are really good as well, and I’ll try to incorporate them into future releases. I haven’t worked on AHK Command Picker in a little while, not because it is dead to me, but because I have been spending the little free time I do get on some other projects of mine. I’ll try to get these changes in on the next go around; or, as you noticed, the source code is on CodePlex so you could also fork it and then send me a pull request to get any changes you make merged back into the official version :)

Thierry

Hi Daniel. Great post thanks! since you mentioned Visual Studio I wonder if you know a way to have some Code Outline (I am looking specially for a function list) for AHK in VS Code. I couldn’t find any thing about it. Kind regards. Thierry

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...