Wow, compared to the barrage of updates in the last half of last year, it’s been a while since the last Bunch release. For those who missed it, Bunch is my text-file-based batch application launcher, replete with handy features for setting up “contexts” in your digital workspace. This update focuses on Bunch’s features for sending key commands.

For a couple of versions now, Bunch has been able to send key combinations and type strings in target applications. While the current key combo syntax works great for modifer+letter combinations, it was pointed out on Twitter that it was unable to handle combinations containing system keys like arrows, delete, caps lock, or anything that needed more than one letter to describe it. This has been fixed in multiple ways:

  • You can just use a key name in the normal shortcut format, e.g. {@up} would press Command-Up Arrow
  • You can combine them with modifer names (spelled out) using hyphens, e.g. shift-cmd-up (a full list of recognized key names is available in the docs)
  • You can use unicode symbols for arrows, e.g. {@↑} (or ↑ ↑ ↓ ↓ ← → ← → b a enter).

As mentioned in the Tweet that triggered this update, this makes it easier to use Bunch with something like Moom, allowing you to extend your Bunches with window management capabilities.

I also (finally) noticed that the escape keys you can use when sending strings to be typed included a conflict where \\n tried to be both Enter and Down Arrow, leading to an identity crisis of sorts. The escape codes have been updated such that \\u is up and \\d is down (and \\n is Enter/newline as it should be). I also added \\h for delete, and \\a/\\e for home/end.

Lastly, I was using the typing feature to trigger TextExpander snippets and noticed that when I tried to use snippets that required whitespace to trigger them, it was failing. I cleverly had Bunch stripping whitespace from the beginning and end of the string, so any whitespace that was specified got lost. That’s fixed now, and Bunch will trust that you meant to include any and all spaces you send it. Just in case, I also added an escape for \\s to force a spacebar press if needed.

Grab the latest update from within Bunch using Bunch->Check for Updates. Or, if you’re not already using it, download it from the Bunch project page and give it a shot.