Show message
Flashes a short message on screen for a moment, or keeps a progress message up for the whole run.
Show text on screen
Keyboard Maestro: DisplayText, InsertText DisplayBriefly, DisplayProgress
Details #
Shows text in a floating glass pill that fades after seconds. It does not take focus and clicks go through it, so nothing needs dismissing. It appears where Settings › General says (top, center or bottom of the screen you are working on). VoiceOver reads it aloud, and with Reduce Motion on it appears and goes without fading.
Several messages at once stack, up to three, newest nearest the edge. Give a message a key and a later message with the same key replaces it in place and restarts its time, which is how a bar creeps forward.
A message with stay is a progress message. It has no timeout: it belongs to the macro run and stays until the run ends, then turns into a check and done (1.2 s), the failure (4 s) or "Stopped" in the same spot, never a second message. Add cancel for a Cancel button that stops the run, or indeterminate when you cannot say how far along it is (a moving stripe, no percentage). The key run (or stay with no key) is the run's own progress message, the one a Repeat with progress writes to, so a step inside the loop can change its words and a hud step with stay and no loop is the whole message. A step inside a macro run by Run macro writes to the same message.
The output is the text shown.
Parameters #
| Parameter | Type | Required | Values | What it does |
|---|---|---|---|---|
text | text | Yes | Required and not empty. Supports {{ }} values. | |
ai | yes / no | true adds the AI badge: a model made or decided what this message says. | ||
cancel | yes / no | true adds a Cancel button that stops the run. It does not take the keyboard focus; the keyboard way is the menu bar item Stop, with Command-period while the menu is open. | ||
done | text | What the message says when the run ends well. The default is "Done". | ||
indeterminate | yes / no | true draws a moving stripe instead of a bar, and no percentage. Reduce Motion makes it a still dashed bar. | ||
key | text | A name. A message with the same key replaces the one on screen instead of stacking. run is this run's own progress message. | ||
progress | number | A number from 0 to 1. Draws a thin bar under the text, and VoiceOver adds the percentage. | ||
seconds | number | How long it stays. The default is 1.5 s. Values are held between 0.2 and 60. | ||
stay | yes / no | true keeps the message up until the run ends, whatever seconds says. It does not count against the three messages that stack; they sit under it. | ||
symbol | text | An SF Symbol name shown before the text, such as checkmark.circle. |
Every step also accepts label, onFailure, timeout and dryRunSafe.
Examples #
- Set count to 3
- Show “Copied {{count}} files” for 2 s
Gotchas #
A progress message that has a Cancel button stops the run when clicked; the step in flight is cancelled like any cancelled run, and a shell command gets SIGTERM.
A message whose run has ended is never brought back by a late update, and a
staymessage nobody updates for 10 minutes leaves anyway.A dry run does show the message. It is one of the steps that is safe to run for real while testing.
It disappears on its own. If the person must read it or answer it, use Show notification or Ask for input.
- Show “Exporting 1 of 3” for 5 s
- Show “Exporting 3 of 3”
- Show “Preparing” until the macro ends, with a Cancel button
- Show “Almost there” until the macro ends