Skip to content

OptionalArguments

BigMac Admin edited this page Jan 5, 2025 · 8 revisions

Default Values

Any optional argument has a default value associated with it. If an optional argument is not included in the configuration file then the default value is used.

SwiftDialog uses Markdown

Keep in mind that Swift Dialog uses MarkDown to display text formatting. You should be able to pass this markdown directly from your configuration file as shown in the examples below.

Message Text

Title

Type: <string>

The Title of the Notification and Swift Dialog messages. See --title option of Swift Dialog

Default value: "Please Restart"

AggroMessage

Type: <string>

Default value: "**Please save your work and restart**"

NormalMessage

Type: <string>

Default value: "In order to keep your system healthy and secure it needs to be restarted. \n**Please save your work** and restart as soon as possible.\n\nDeferrals remaining until required restart: "

NotificationMessage

Type: <string>

The text you want to display in the main body of a Notification Center event.

Default value: "In order to keep your system healthy and secure it needs to be restarted. \nPlease save your work and restart as soon as possible."

NotificationSubtitle

Type: <string>

The text you want to display in the sub-title area of a Notification Center event.

Default value: ""

Button Text

DeferralButtonText

Type: <string>

The text on the primary button which dismisses the Dialog window and processes a deferral

Default value: "Not now, remind me later..."

NoDeferralsRemainingButtonText

Type: <string>

The text on the primary button when in aggressive mode and no deferrals remain.

Default value: "No deferrals remaining"

RestartButtonText

Type: <string>

The text on the "info button" which the user clicks to initiate a restart.

Default value: "OK, Restart Now I am Ready"

ShowDeferralCount

Type: <boolean>

If true, an additional line of text is added in Normal Mode indicating how many deferrals are remaining.

Default value: false

Icons and Images

A note about DarkMode

If an icon or image is chosen in the configuration file, and no value is set for the "DarkMode" key of that item, then the normal icon image will be used for both light and dark mode.

Defining a DarkMode image or icon without also defining a normal mode is an invalid configuration and may have unexpected results.

NotificationIcon

Type: <string>

Path to an icon you would like included in the Notification Center message. Please note: Due to limitations on how macOS works, the prominent icon of a Notification Center message will always be the Dialog.app icon. See Swift Dialog documentation for more details.

Default value: ""

NotificationIconDarkMode

Type: <string>

Path to an icon you would like included in the Notification Center message if dark mode is enabled.

Default value: ""

MessageIcon

Type: <string>

Path to the icon which will be used for Renew Swift Dialog windows. This can be a locally stored file, an SF Symbol, an App Bundle, or a hosted file. See Swift Dialog documentation for details.

Note that SwiftDialog allows for a value of none to be passed to remove the icon altogether. You can use none in your Renew configuration file to pass this option

Default value: "SF=restart.circle color1=pink color2=blue"

MessageIconDarkMode

Type: <string>

Path to the icon which will be used for Renew Swift Dialog windows if dark mode is enabled.

BannerImage

Type: <string>

Path to a file used with the --bannerimage SwiftDialog option.

Default value: ""

BannerImageDarkMode

Type: <string>

Path to a file used with the --bannerimage SwiftDialog option when Dark Mode is enabled.

Default value: ""

Message Customization

AdditionalDialogOptions

Type: <string>

Any additional Swift Dialog options you wish to include can be provided here (such as --ontop --width --height --messagefont etc.) See Swift Dialog documentation for options and formatting.

For best results, do not pass options here which are provided as features of Renew (like --icon and --title)

Default value: ""

AdditionalAggressiveOptions

Type: <string>

Any additional Swift Dialog options which you want only to apply to Aggressive Mode dialog windows.

For best results, do not pass options here which are provided as features of Renew (like --icon and --title)

Do not pass options which are also passed via AdditionalDialogOptions, this is considered an invalid configuration.

Default value: ""

AdditionalNormalOptions

Type: <string>

Any additional Swift Dialog options which you want only to apply to Normal Mode dialog windows.

For best results, do not pass options here which are provided as features of Renew (like --icon and --title)

Do not pass options which are also passed via AdditionalDialogOptions, this is considered an invalid configuration.

Default value: ""

AdditionalNotificationOptions

Type: <string>

Any additional Swift Dialog options which you want only to apply to Notification Center events.

For best results, do not pass options here which are provided as features of Renew (like --icon and --title)

Do not pass options which are also passed via AdditionalDialogOptions, this is considered an invalid configuration.

This key exists for future-proofing any new SwiftDialog features which may come along, however at this time all --notification options are configurable via their own individual keys: NotificationIcon NotificationMessage NotificationSubtitle Title

Default value: ""

Additional Functionality

Deadline

Type: <integer>

This key will set a Deadline for uptime (in days) such that when a device has been online for this many days they will receive the Aggressive Mode experience regardless of any remaining deferrals. See the deployment strategies section for suggestions on how to implement this.

Minimum Value: 0 can be used for testing (see caveat) Maximum Value: 999 Caveats:

  • Deadline must be an equal or greater value than your UptimeThreshold or you will get unpredictable results.
  • If you have a Deadline value set and your MaximumDeferrals and NotificationThreshold are set to 0, you will not be able to use --force-normal command for testing (because your configuration doesn't ever allow for a normal mode experience.)

Default value: ""

SecretQuitKey

Type: <string>

By default, Swift Dialog can be quit using the CMD+Q option. This is undesirable for our purposes, and so a "secret quit key" is set by default and can be changed in the configuration file. This must be a single character, and cannot be a capital letter or symbol requiring the shift key.

To quit a Renew message without being required to restart, use CMD+] or CMD + your Secret Quit Key.

Default value: "]"

IgnoreAssertions (v1.2 and newer)

Type: <array>

Use this array to list additional applications which you want to ignore in regard to Display Sleep Assertions. Use pmset -g to see what Display Sleep Assertions are in place for a device and use the name of the application as found by that command.

Default value: Renew will ignore obs caffeinate and Amphetamine in addition to any options configured here.

NotificationActionEnabled (v1.2 and newer)

Type: <boolean>

By default, clicking the body of a Swift Dialog notification center event will initiate a Restart sequence. To disable this behavior, set to false.

Default value: true