Link Search Menu Expand Document

Bunch Terminology

For the purposes of this documentation, here are some definitions:

The name of the app, but also a singular reference to a file containing a plain text list of apps, commands, and scripts it will launch. The latter is also referred to as a “Bunch File.”
Bunch Folder
The folder where your collection of Bunch files is stored.
Bunch Items
Bunch Items are lines in a Bunch file, whether launching an app, running a script, or executing a command. This is a generic term for referencing all of the types below.
Bunches are either “opened” or “closed,” and perform different tasks depending on the action. Closing a Bunch has a different meaning than “quitting,” so I’ll do my best not to refer to opening a Bunch as launching, or closing a Bunch as quitting it.
Apps and scripts are “launched” and “quit” (or terminated) by Bunches when they open or close.
App Items
App Items are lines in a Bunch file that launch an app. They start at the left margin, and the only characters that precede them are special characters like !, %, or @ which affect the behavior of the app (like quitting instead of launching, ignoring it when closing, or focusing the app and hiding others after launching it).
Command Items
Command Items are lines surrounded in parentheses. They perform tasks provided by Bunch, such as sending notifications, turning on Do Not Disturb, or sleeping your computer. Like App Items, they start against the left margin.
Script Items
Script Items start with a special character that indicates what type of script to run. Shell scripts start with $, AppleScripts start with *, and Automator Workflows start with &. Shell and AppleScript lines can run either script files or run commands directly.
File Items
File Items are lines that come after an App Item that perform actions (like opening files or sending keystrokes) in the App Item that precedes them. Multiple File Items can come after a single App Item. These can also be used after Script Items to pass environment variables to the script.
A snippet is a file in the Bunch folder that has any extension other than .bunch. It can contain anything a Bunch can, and can be included from within a Bunch to allow sharing of common tasks between Bunches. Snippets are also used to allow interactivity, delayed execution, and other fun stuff.