Sunday, July 18, 2010

Go: A start menu launcher written in Autohotkey

My start menu is a freaking mess. Maybe it's because I have a crapload of freeware installed, or maybe it's because I keep installing stuff and then not moving it to an organized folder. Either way, it's not fun to navigate. Rather than spend an hour moving shortcuts around and cleaning it up, I wrote a start menu launcher.

Actually, it was really again one of those "I wonder if I could..." or really just a "It would be really fun..." I was thinking through what to name it, and I thought "Ok, it's really simple. What's simple...Go!" So it's Go. I thought of calling it "Start", but that's so cliche.

Anyway, it basically searches your start menu for all LNK files and then adds those to an index (a very small index), and then you can bring up the search menu by (1) pressing Ctrl twice very fast, (2) pressing Capslock, or (3) bringing it from the tray. It steals alot of ideas from other launchers I've seen: FARR, Launchy, Google Desktop, and nDroid, mostly.

Like Google Desktop, when it loses control, it hides itself. It searches as you type and is semi-intelligent; like it will bring up "Google Chrome" if you type "goo" or "chr". Currently, it just peels off the title of the LNK file and searches that, but in the future, it might search the file description of the target, and other things. It has icons to the left of search results to make it more visual. You can scroll through the results with either the keyboard or the mouse (eventually.....still have a few kinks to work out with the scroll wheel). And it has a few features that either can be implemented extremely easily in the future or are already implemented to some degree.
  • Togglable grid in search results
  • Adjustable font sizes (but not icon, I'm afraid)
  • Customize how many large the dropdown can be (e.g. ten entries)
  • Skinning
The indexing is extremely fast; it usually indexes my entire Start Menu folder in about 2 seconds, though recently it's been more around 9. It won't index every time, though that might be a feature later on since it is so quick. When you select a file, it actually just launches the LNK file in your start menu rather than the actual file, mostly because then I don't have to worry about the working directory, arguments, etc.

The last feature is vaguely reminiscent of FARR's advanced 'weighting'; basically, Go keeps track of how many times you launch an item and then sorts the list accordingly, that way if you launch Firefox a ton, all you're going to have to do is enter "F", and it should pop out on top. Of course, this feature will also be able to be disabled and the list will be then sorted alphabetically, if that's the user's wish.

The reason I wrote Go -other than the fact that it's been quite a while since I wrote anything- is because I wanted a launcher for myself, but everything was too advanced. Google Desktop is really a full blown Search; FARR is far too complex (no pun intended) for a simple start menu launcher; none of the launchers I'd found were simple enough. Plus, it really was kind of fun. Really freaking annoying at times, but fun.

Go is certainly not available for download yet. It might be the next FreewareWire software I upload, but maybe not. If I can get it usable, then I'll definitely clean it up and put it up. But there's still a few more things I need to do:
Missing Features:
  • Options GUI (and INI file)
  • Scroll wheel support in search results
  • Program blacklist (and maybe whitelist)
  • 'Launches' does not survive a new Index
  • Search result height is roughly calculated
  • Selected result is faded grey color instead of blue
  • Can't use cursor to select text
But other than that, it's golden.

Go, Speed Racer, Go!

No comments:

Post a Comment