Brevis (ars longa, vita brevis or endless work, brief life) is a compact, efficient system for managing a collection of single action, insert-text expansions triggered by typed strings.
In short, it automates Keyboard Maestro text expansions.
A single three-macro system for all text expansions
Text expansions are organized in categories that can be filtered for display
One global variable stores all your text expansions so your Keyboard Maestro plist doesn't expand when you add an expansion
The initial character of the typed string trigger modifies behavior, inserting by pasting or typing and dropping or keeping the trailing character
Support for Keyboard Maestro tokens, including the insertion point token (%|%)
Includes two optional utility macros to edit your text expansions in a text editor
Compatible with existing Keyboard Maestro text expansion macros, with which it does not conflict
Control Panel to list, filter, add, delete, export, import and merge expansions
Create a text expansion from selected text with error checking
Rather than using the Keyboard Maestro editor itself to manage a collection of separate macros for each text expansion, Brevis provides both 1) an easy-to-use Control Panel to create, run, list, export, import and merge them as well as 2) a faceless way to create and run them.
Whether you need a quick text expansion temporarily or can’t remember the ones you’ve already recorded, Brevis quickly comes to the rescue. The Control Panel can function as a palette of expansions as well as provide a quick interface for maintenance functions.
Here's the Control Panel macro:
Brevis.11c.zip (10.2 KB)
Brevis.Documentation.zip (963.5 KB) includes the PDF documentation and a sample Dates export you can import.
5 October 2021: Corrected an error in the
Create from Selection macro's pattern for the trigger.
(When I first started working on this macro app, Jim Underwood (JMichaelTX) responded to my request for help with an AppleScript to parse the Keyboard Maestro plist. While that did what I wanted, what I wanted wasn't practical and I took the approach used in this macro, skipping the plist in favor of a global variable. Our pleasant exchange was the last I had with him (among many others over the years) before his untimely passing. This contribution is in tribute to him and the assistance he generously gave here.)