Repository navigation
Actions and Rules
An action rule has conditions (when it applies) and ordered actions (what it does). A rule can run from the popup's right-click menu, from the global default-action shortcut, from a per-action shortcut, or automatically the moment a matching value is copied. Edit rules in Preferences → Actions, or from the command line.
Kind (URL, email, phone, file path, color hex, image, text), path type (file or folder), regex, contains-text, source app, soft-wrapped (looks like a wrapped terminal command) and from a terminal (the copy came from a configured terminal app). A rule matches when all or any of its conditions hold. Rules are matched top to bottom, so order matters.
| Provider | What it does |
|---|---|
openURL |
Opens the value as a URL. |
openInApp |
Opens the value in a chosen app (by bundle id). |
webSearch |
Opens a search URL. The template uses a {query} placeholder, e.g. https://www.google.com/search?q={query}. |
runShortcut |
Runs a macOS Shortcut by name. |
revealInFinder |
Folder path opens that folder; file path opens the containing folder with the file selected. Accepts /abs, ~/rel, file:// URLs and copied Finder items. |
openFile |
Opens the copied path with its default app; a folder opens in Finder. Same path forms as reveal. |
transform |
Rewrites the text: trim, uppercase, lowercase, stripFormatting, unwrap, fixKeyboardLayout (EN and HE, direction auto-detected). |
revealInFinder and openFile pair with the file path kind condition. Put such a rule above any "kind = text" rule so the global default-action shortcut prefers it. MaccyPlus is sandboxed with a read-only filesystem exception, so a file opened this way may be read-only in the receiving app.
Terminals wrap long commands across visual lines, and copying brings the line breaks along. The unwrap transform removes the wrap breaks and leaves one ready-to-paste command. The built-in "Unwrap terminal command" rule does it automatically when a copy comes from a terminal app and shows a fixed-width wrap signature. Genuine multi-line scripts are left untouched.
The "from a terminal" condition matches copies whose source app is in a configurable list (Terminal.app, iTerm2, Warp, kitty, Alacritty, WezTerm, Ghostty and VS Code by default). Edit it in Preferences → Actions → "Terminal apps…" or with terminals list|add|remove|reset.
Any single action can carry its own global shortcut, recorded in the rule editor. It runs only that action on the current clipboard, unconditionally, independent of rule matching and of the global default-action shortcut. Spec format is +-joined, e.g. cmd+shift+u.
MaccyPlus · MIT © Roy Padina · Support on Ko-fi ☕