The latest on the Bunch beta
If you’re keeping track at all, you’ve probably noticed that I haven’t posted about Bunch since the beta for version 1.4 launched. This is not due to a lack of progress. It’s more like the changes were coming too fast.
There have been over 100 changelog items since the last time I wrote about Bunch. And there’s some big stuff in there. I’m going to bullet point just a few of them, but first I want to extend the invitation to beta test again.
There’s a small but very helpful group of testers who’ve helped out with getting the beta to where it is today. I’d love to have this tested by even more people, though. The beta is a whole new app compared to Bunch 1.3, and I’m hoping to bring it back to the stable branch soon. Just head to the bunch-beta section of the site to grab the download, find the support links, and see the latest documentation.
One of the big questions I need answered right now is: does anybody actually use Bunch in Dock mode? A large number of the new features in the last update only work in menu bar mode, and that’s the only way I use it now. Dock mode feels crippled to me at this point. Would you miss it if running in the menu bar became the only option? Let me know in this discussion.
I’m also seriously considering making it a commercial app. Well, “planning to” would be more accurate at this point. I’d like to charge enough to offset the hours I’ve been putting into it as a “passion project,” but not so much that it’s inaccessible. If you have thoughts on this, or suggestions for pricing or sales models, I’m always open to hearing from users. In the meantime, I’ve greatly appreciated the donations that have come in. Enough people have donated that I think there’s a fair amount of interest in this, and a willingness to pay for it, but I have constant, nagging doubts. But that could also be a blanket statement about my life.
So what’s new with the Bunch beta?
A Preference Pane
Bunch originally only had a couple of preferences, so they were easy to just include in the main menu. As it grew, that became untenable. So now Bunch has a Preference pane (and a nifty first-launch splash, too).
Parallel Execution
You now have the option to launch items in a Bunch in parallel or sequential order. You can set this globally, but also affect it per-Bunch with frontmatter. In a sequential Bunch, you can even affect it per-line by prefixing any line with a pipe (|
). That item will be taken out of the sequence and run in the background while the rest of the Bunch proceeds in order.
Parallel execution allows everything to happen at once. In the case of almost all of my own Bunches, this is ideal. Everything launches simultaneously and the total time it takes the Bunch to complete is about half of what it was previously.
More Interactivity
Bunch now has text input and multiple choice dialogs. These can be used to launch different snippets based on user choice, or even to populate a frontmatter key for use elsewhere in the Bunch or any snippets it contains.
Keystrokes
I rewrote Bunch’s method of sending keystrokes to apps. If you’re running 10.15 or later, it can now send keystrokes lightning fast and very reliably, even if the target app isn’t in the foreground. It can also send global hotkeys (key combos not targeted at any particular app).
There are new syntaxes, including one that allow easy repeats of key combos. For example, to hit the right arrow key 13 times, you can just use - {(right)13}
. You can also now type strings from within key combo sequences just by double quoting them, like - {@n "I'm typing now." @s}
. There’s even a character shortcut for sending a Hyper key (%
instead of @~$^
), for the keyboard nerds.
Keyboard Control
You can now assign a hotkey for opening the Bunch menu bar menu, and then assign custom keys to all of your Bunches using frontmatter. So for me to launch my podcast recording Bunch, I just type Hyper-D, then press R. Since adding this, I’ve rarely clicked the menu bar at all. I love the hotkeys.
This is one of those things that only works in the menu bar. I can’t assign shortcuts to items in the Dock menu. To make that work, I’d have to move the Bunch menu up to the main menu, at which point it’s essentially running in the menu bar anyway, so…
Display Command
There’s a new (display)
command that can be used for viewing local HTML files, websites, text files, or logs. In the case of local files, it watches for changes and updates the preview, and in the case of local text files, it “tails” the file, always showing the bottom, so it’s perfect for watching logs and other files that get text appended to them.
In the case of websites, it has back/forward navigation and stores your credentials, so you can use it to log into chat apps, time tracking sites, whatever you might need for that work context and don’t necessarily want or need to open a browser tab for.
You can tell the window how big to be, where to be, what colors to be, and even which display to pop up on. You can set it to be a floating window, a normal window, or even have it below the desktop level as if it were wallpaper. All with plain text commands, as you should probably expect.
Script Monitors
For people who run shell scripts (including AppleScripts) and shell commands in their Bunches, there’s now a whole system for seeing output and performing actions like pause/resume, kill, and restart. Every script gets a “task monitor” with a customizable display (using the same parameters as the display
command above.) You can also run it without a display, and then access its window later to see status and script output. Every script shows up in the menu under a “Shell Scripts” menu.
If the Bunch is executing sequentially, scripts now also fully wait for the task to exit before continuing. If something else in the Bunch — whether an app, command, or another shell script — requires a script to complete first, running in sequential mode now offers that option.
Just Do It
Honestly, the list is too long to really summarize. It’s a whole new app and you should definitely help me test it. Download the beta, and do check the changelog to get some idea where things have gone since the last stable release.
Bug reports go on the Issue Tracker.
Discussions of all sorts (ideas, complaints, show and tell, whatever!) go on the Discussions forum. I look forward to hearing from you there!