swiftDialog is an open source admin utility app for macOS 11+ written in SwiftUI that displays a popup dialog, displaying the content to your users that you want to display.
swiftDialog's purpose is as a tool for Mac Admins to show informative messages via scripts, and relay back the users actions.
The latest version can be found on the Releases page
Detailed documentation and information can be found in the Wiki
swiftDialog and Dialog are the same. There are a number of other utilities called dialog
though and being a very generic word, becomes difficult to find in web searches. The decision was made to perform a front facing name change from Dialog to swiftDialog to help differentiate it from other utilities of the same name or type.
The core binary and app bundle will remain as dialog
and Dialog.app
respectively to maintain compatability with existing scripts and workflows and when mentioning the app in the wiki the terms Dialog
and swiftDialog
may be used interchangibly.
Every aspect of swiftDialog's appearance can be modified.
At the most simple level you need only give swiftDialog a Title and a Message to display but there is more utility in modifying other aspects of the appearance:
- Pass in an image resource to display as the swiftDialog icon, or use an app path or system preference bundle path and swiftDialog will extract the icon for display.
- Add extra buttons. Change the text to say what you want. Wait for user input or autimatically time out.
- Use markdown in the message to add bold or italics or include URL links
- Change the colour, size or even the font used in the Title and Message areas
- Change the size of the swiftDialog window
- Display Videos or Images either locally or pass in a URL
- and lots more...
swiftDialog's interface is fully customised from a set of command line options.
For details on all the available options, please read the Command Line Options page on the wiki.
Feedback on how someone interacts with swiftDialog can passed back into the calling script. At a basic level swiftDialog's exit codes will represent what button was pressed. For user input, swiftDialog will output any data to sdtout
in either plain text or optionally json format for easy parsing.
If there are bugs or ideas, please create an issue so your idea doesn't go missing.
Also come chat in the #swiftDialog
channel in the MacAdmins Slack
Please read the CONTRIBUTING.md for details on how you can contribute.