Skip to content

Customizing Icons and Messaging

BigMac Admin edited this page Jun 19, 2024 · 4 revisions

Baseline v1.1+ supports custom icons and messaging for all SwiftDialog windows. Any SwiftDialog option can be passed to any of the three main SwiftDialog windows that Baseline calls by including your desired options in the configuration profile.

While any SwiftDialog feature can theoretically be used, there are some options that obviously don't make sense in context. For instance: Don't try to use --notification or --checkbox in the Baseline SwiftDialog windows.

Baseline SwiftDialog Windows

  1. The "Dialog List Window"
    1. This is the window that displays each step that Baseline is processing along with the status of that item.
  2. The "Dialog Success Window"
    1. This is the window that displays when Baseline completes and there were no failed items.
  3. The "Dialog Failure Window"
    1. This is the window that displays when Baseline completes and there were one or more failed items.
    2. This is another List View window that will show the "Display Name" of any item that failed to run.

Customizing the Three Windows

There is one MDM key for each SwiftDialog window, and your desired options can be configured as a <string> for that respective key.

  • DialogListOptions
  • DialogSuccessOptions
  • DialogFailureOptions

You can pass any supported SwiftDialog options for these keys. You can customize one or all of the default options, simply by including your chosen customization in the string.

  • In the following example, we will change the Title and add an Overlay Icon for the List Dialog window, but leave the other options (like --message and --icon) at the Baseline default values. We will also use a custom icon for the Failure window:
<key>DialogListOptions</key>
<string>--title "This is a Custom Title" --overlayicon "/System/Applications/System Settings.app"</string>
<key>DialogFailureOptions</key>
<string>--icon "SF=desktopcomputer.trianglebadge.exclamationmark,color=red"</string>
  • Configure your options exactly as you would when calling SwiftDialog from the command line. Remember to quote any file paths or strings that contain spaces (like your title or message values.)
    • Please specify your file paths for features like --icon or --background or --bannerimage carefully. In some cases, an invalid file path will result in SwiftDialog not being able to draw the window and Baseline will exit.
  • The new keys are entirely optional. If you choose not to include them, then the default branding and messaging will be used.
  • Note that MobileConfig files and .plist files have some limitations on special characters (& for example), so you may want to avoid them and test your profiles install correctly.

Default Values

Any value that is not customized in the configuration profile will fall back to it's default. The defaults are as follows:

All Windows

  • --icon "/System/Library/CoreServices/KeyboardSetupAssistant.app/Contents/Resources/AppIcon.icns"
  • --blurscreen
    • This option cannot be disabled without editing the script directly to remove it.

Dialog List Window

  • --title "Your computer setup is underway"
  • --message "Feel free to step away, this could take 30 minutes or more. \n\nYour computer will restart when it's ready for use."
  • --width 900
  • --height 550
  • --quitkey ']'

Dialog Success Window

  • --title "Your computer setup is complete"
  • --timer 120
    • This option is only included by default if Restart is true.
  • --message "Your device needs to restart before you can begin use."
    • This is used if Restart is true.
  • --message "Your device is ready for you."
    • This is used if Restart is false.
  • --button1text "Restart Now"
    • This is used if Restart is true.
  • --button1text "Ok"
    • This is used if Restart is false.

Dialog Failure Window

  • --title "Your computer setup is complete"
  • --message "Your computer setup is complete, however not everything was installed as expected. Review the list below, and contact IT if you need assistance."
  • --height 550
  • --button1text "Restart Now"
    • This is used if Restart is true.
  • --button1text "Ok"
    • This is used if Restart is false.