TerminalWidget
Script your Desktop Widgets
22,99 €
Scripters rejoice! With TerminalWidget, output from shell scripts, Shortcuts, and AppleScript can be displayed in Desktop Widgets. Progress bars, charts, graphs, tables, icons, emoji, and more. There are dozens of styles to choose from, all highly configurable. Updates on Mac are instant, and sync to and from iOS widgets via iCloud. This is a universal purchase for the Mac, iOS, and Watch apps.
more ### IMPROVED
- Markdown link labels can include nested square brackets (for example [Item [nested]](https://example.com))
2.0.10 3 days ago
### IMPROVED
- ANSI colors apply to text next to markdown links (for example a colored flag prefix before a tappable [label](url))
2.0.9 4 days ago
### CHANGED
- Image URL imports now use authorized image folders before asking you to choose a file.
- Synced transparent images materialize as PNG (opaque photos still use JPEG) so widget backgrounds show through after sync.
### NEW
- Extra Large widget size on Mac and on iPad/Home Screen where the OS offers it.
- Table cells (CSV/TSV/JSON, including headers) support CommonMark [label](url) inline links on Mac and iPhone/iPad, same rules and tap behavior as --text links.
- Image folders (Info/Debug on Mac) let you grant one or more folders so CLI, AppleScript, and Shortcuts can load local images without a permission prompt for every file.
### IMPROVED
- Extra Large layouts scale text, tables, charts, and progress intentionally (not just a stretched Large).
- Launcher buttons can use up to four columns on Extra Large widgets.
- GUI startup avoids duplicate activation verification.
- In-app help explains the permission prompt and what to do if TerminalWidget is missing from Settings > Notifications.
- Local image imports try granted folders first, then fall back to a file chooser when the app can prompt (including AppleScript/Shortcuts), instead of failing silently.
- AppleScript image updates now offer the image chooser when a supplied image URL cannot be read.
### FIXED
- Mac open-url and markdown link taps now open in the system default browser (including Choosy or Zen) instead of always preferring Safari.
- Widget taps with no action do nothing on Mac and iPhone/iPad instead of opening Terminal Widget.
- Image-folder imports continue to later granted folders when an earlier access attempt does not copy the file.
- Image folder list stays current when widgets reload from disk or CLI sync.
- iCloud image sync keeps transparency for PNG/alpha sources instead of flattening them to white JPEG on Mac and iPhone/iPad.
- Stale white JPEG sync blobs refresh when the on-disk source image still has alpha.
2.0.8 5 days ago
### CHANGED
- Image URL imports now use authorized image folders before asking you to choose a file.
- Synced transparent images materialize as PNG (opaque photos still use JPEG) so widget backgrounds show through after sync.
### NEW
- Table cells (CSV/TSV/JSON, including headers) support CommonMark [label](url) inline links on Mac and iPhone/iPad, same rules and tap behavior as --text links.
- Image folders (Info/Debug on Mac) let you grant one or more folders so CLI, AppleScript, and Shortcuts can load local images without a permission prompt for every file.
### IMPROVED
- GUI startup avoids duplicate activation verification.
- In-app help explains the permission prompt and what to do if TerminalWidget is missing from Settings > Notifications.
- Local image imports try granted folders first, then fall back to a file chooser when the app can prompt (including AppleScript/Shortcuts), instead of failing silently.
- AppleScript image updates now offer the image chooser when a supplied image URL cannot be read.
### FIXED
- Mac open-url and markdown link taps now open in the system default browser (including Choosy or Zen) instead of always preferring Safari.
- Widget taps with no action do nothing on Mac and iPhone/iPad instead of opening Terminal Widget.
- Image-folder imports continue to later granted folders when an earlier access attempt does not copy the file.
- Image folder list stays current when widgets reload from disk or CLI sync.
- iCloud image sync keeps transparency for PNG/alpha sources instead of flattening them to white JPEG on Mac and iPhone/iPad.
- Stale white JPEG sync blobs refresh when the on-disk source image still has alpha.
2.0.7 6 days ago
### CHANGED
- --fit-text scaling is skipped when any markdown link is present so link hit targets stay reliable.
- iOS launcher buttons mute open-app and run-command (unsupported) while open-url, run-shortcut, and refresh still work.
### NEW
- Markdown links in widget text use CommonMark [label](url) syntax and render as tappable buttons on macOS and iOS.
- Link taps open the linked URL while non-link areas keep the existing widget tap/--action-kind behavior.
- Launcher buttons via JSON buttons (label, color, action-type, action-value; max 12) render as a tappable footer grid under any widget content on macOS and iOS.
- button-columns accepts smart/auto or 1/2/3 to force the footer grid; omit keeps the previous setting, and "buttons": [] clears buttons.
- Smart button layout on medium/large uses 3 columns when the count is divisible by 3, otherwise 2, pads incomplete rows for uniform widths, and keeps small widgets single-column.
- Button borders support per-button border / border-color / border-width (0-12) / border-radius (0-48) plus root defaults via button-border, button-border-color, button-border-width, and button-border-radius.
- Border shorthand accepts values like 2px #0f0aff (either order); color alone implies width 1, and omitted radius defaults to 8.
- Button tap intents ship for macOS and iOS so launcher actions run from the widget (host intents handle refresh/run-command).
### IMPROVED
- Buttons-only widgets vertically center the button grid when there is no other content.
- Edit Widget shows only Target name and hides the internal Instance ID field.
### FIXED
- --json overlays now persist text, colors, theme, and related fields instead of dropping them when only JSON supplied those values.
- Inline --json '{...}' is accepted as JSON instead of being treated as a missing file path.
- URL and app opens from widget buttons and markdown links stay on the Mac instead of Continuity-handing off to iPhone.
- Edit Widget target names (including widget1) are always honored instead of being remapped onto widgetN via the instance registry.
- Instance registry repair no longer wipes mappings just because many named CLI targets exist.
- Mac widget gallery shows "Terminal Widget" again so Desktop widgets are easier to find beside Continuity copies.
- Invalid launcher icons ASCII names that are not valid SF Symbols now leave the reserved gutter empty.
- Widget taps without a configured action on macOS now open the non-mutating action URL instead of update?target=, which was rebuilding an empty payload and blanking the widget.
- Target-only update URLs are ignored on macOS and iOS so stale widget timelines cannot wipe existing content.
2.0.6 5 Aug
### CHANGED
- Chart hard max keeps the newest 128 points instead of the oldest when series overflow.
- --fit-text scaling is skipped when any markdown link is present so link hit targets stay reliable.
- iOS launcher buttons mute open-app and run-command (unsupported) while open-url, run-shortcut, and refresh still work.
### NEW
- --append adds chart columns (same syntax as --chart, including slash-grouped series and rangebar low-high pairs) or text lines to an existing widget while preserving unrelated settings.
- --limit N keeps the newest N chart columns or text lines in storage, persists on the target, works with chart/text/append or alone, and uses 0 to clear the soft limit.
- Append and limit are available from CLI, AppleScript, Shortcuts, URL scheme, and structured JSON with shape checks for incompatible chart data.
- Markdown links in widget text use CommonMark [label](url) syntax and render as tappable buttons on macOS and iOS; link taps open the URL while non-link areas keep the existing widget tap/--action-kind behavior.
- Launcher buttons via JSON buttons (label, color, action-type, action-value; max 12) render as a tappable footer grid under any widget content on macOS and iOS.
- button-columns accepts smart/auto or 1/2/3 to force the footer grid; omit keeps the previous setting, and "buttons": [] clears buttons.
- Smart button layout on medium/large uses 3 columns when the count is divisible by 3, otherwise 2, pads incomplete rows for uniform widths, and keeps small widgets single-column.
- Button borders support per-button border / border-color / border-width (0-12) / border-radius (0-48) plus root defaults via button-border, button-border-color, button-border-width, and button-border-radius.
- Border shorthand accepts values like 2px #0f0aff (either order); color alone implies width 1, and omitted radius defaults to 8.
### IMPROVED
- Buttons-only widgets vertically center the button grid when there is no other content.
- Edit Widget shows only Target name and hides the internal Instance ID field.
### FIXED
- --json overlays now persist text, colors, theme, and related fields instead of dropping them when only JSON supplied those values.
- Inline --json '{...}' is accepted as JSON instead of being treated as a missing file path.
- URL and app opens from widget buttons and markdown links stay on the Mac instead of Continuity-handing off to iPhone.
- Edit Widget target names (including widget1) are always honored instead of being remapped onto widgetN via the instance registry.
- Instance registry repair no longer wipes mappings just because many named CLI targets exist.
- Mac widget gallery shows "Terminal Widget" again so Desktop widgets are easier to find beside Continuity copies.
2.0.4 4 Aug
### CHANGED
- Chart hard max keeps the newest 128 points instead of the oldest when series overflow.
- Allow users to disable iCloud syncing
### NEW
- --append adds chart columns (same syntax as --chart, including slash-grouped series and rangebar low-high pairs) or text lines to an existing widget while preserving unrelated settings.
- --limit N keeps the newest N chart columns or text lines in storage, persists on the target, works with chart/text/append or alone, and uses 0 to clear the soft limit.
- Append and limit are available from CLI, AppleScript, Shortcuts, URL scheme, and structured JSON with shape checks for incompatible chart data.
2.0.3 2 Aug
Allow users to disable iCloud syncing
2.0.2 1 Aug
### IMPROVED
- Markdown link labels can include nested square brackets (for example [Item [nested]](https://example.com))
more Version 2.0.10 3 days ago
Data Not Collected The developer does not collect any data from this app.