userInterface - macadmins/nudge GitHub Wiki
-
Preferences
actionButtonPath
applicationTerminatedNotificationImagePath
fallbackLanguage
forceFallbackLanguage
forceScreenShotIcon
iconDarkPath
iconLightPath
requiredInstallationDisplayFormat
screenShotDarkPath
screenShotLightPath
showActivelyExploitedCVEs
showDeferralCount
showDaysRemainingToUpdate
showRequiredDate
simpleMode
singleQuitButton
updateElements
- Examples
- Type: String
- Default Value: ""
- Required: No
- Version: v1.1.0 and later
A path to a URI for opening alternative actions, like Jamf Self Service items or Munki Self Service items.
Note: When using this key, you will lose the dynamic capability for updateDevice
supporting minor / major upgrades, so it will be up to your separate tool to handle this logic.
Note: Do not pass an empty string with this key or you will get the following error in the nudge logs
actionButtonPath contains empty string - actionButton will be unable to trigger any action required for major upgrades
Note: As of 1.1.6 (Mar 15, 2022) actionButtonPath
should be configured under osVersionRequirements
- Type: String
- Default Value: ""
- Required: No
- Version: v2.0 and later
A local image path for the notification event when Nudge terminates and application.
- Type: String
- Default Value: en
- Required: No
- Version: v.1.1.0 and later
The language to revert to if no localizations are available for the device's current language.
- Type: Boolean
- Default Value: False
- Required: No
- Version: v1.1.0 and later
Force the custom localizations to the value of fallbackLanguage
.
- Type: Boolean
- Default Value: False
- Required: No
- Version: v1.1.0 and later
Force the built-in ScreenShot icon to render in the UI if a ScreenShot path is not passed.
- Type: String
- Default Value: ""
- Required: No
- Version: v1.1.0 and later
A URI to a remote or local jpg, png, icns file that contains the icon for dark mode. This will replace the Apple logo on the left side of Nudge.
In Nudge v1.1.12.81495 and higher you can use base64 strings for iconDarkPath
Some MDMs have issues deploying MDM profiles greater than 1MB, so please run your pngs through https://tinypng.com/ to compress them.
Run base64 and convert to a string base64 -b 100000000 < ~Downloads/tinified/screenShotDark.png | pbcopy
Prefix the base64 encoded string with data:image/png;base64,
and add it to your management file.
Ensure there are no extra lines in the preferences.
- Type: String
- Default Value: ""
- Required: No
- Version: v1.1.0 and later
A URI to a remote or local jpg, png, icns file that contains the icon for light mode. This will replace the Apple logo on the left side of Nudge.
In Nudge v1.1.12.81495 and higher you can use base64 strings for iconLightPath
Some MDMs have issues deploying MDM profiles greater than 1MB, so please run your pngs through https://tinypng.com/ to compress them.
Run base64 and convert to a string base64 -b 100000000 < ~Downloads/tinified/screenShotDark.png | pbcopy
Prefix the base64 encoded string with data:image/png;base64,
and add it to your management file.
Ensure there are no extra lines in the preferences.
- Type: String
- Default Value: ""
- Required: No
- Version: v2.0 and later
When utilizing showRequiredDate
, set a custom display format; for example, MM/dd/yyyy
. Be aware that the format you desire may not look good on the UI.
For examples of valid date format strings, see this cheatsheet.
- Type: String
- Default Value: ""
- Required: No
- Version: v1.1.0 and later
A URI to a remote or local jpg, png, icns file that contains the screen shot for dark mode. This will replace the Big Sur logo on the lower right side of Nudge. For example, you may want to show different images for Big Sur and Monterey:
In Nudge v1.1.12.81495 and higher you can use base64 strings for screenShotDarkPath
Some MDMs have issues deploying MDM profiles greater than 1MB, so please run your pngs through https://tinypng.com/ to compress them.
Run base64 and convert to a string base64 -b 100000000 < ~Downloads/tinified/screenShotDark.png | pbcopy
Prefix the base64 encoded string with data:image/png;base64,
and add it to your management file.
Ensure there are no extra lines in the preferences.
- Type: String
- Default Value: ""
- Required: No
- Version: v1.1.0 and later
A URI to a remote or local jpg, png, icns file that contains the screen shot for light mode. This will replace the Big Sur logo on the lower right side of Nudge. For example, you may want to show different images for Big Sur and Monterey:
In Nudge v1.1.12.81495 and higher you can use base64 strings for screenShotLightPath
Some MDMs have issues deploying MDM profiles greater than 1MB, so please run your pngs through https://tinypng.com/ to compress them.
Run base64 and convert to a string base64 -b 100000000 < ~Downloads/tinified/screenShotDark.png | pbcopy
Prefix the base64 encoded string with data:image/png;base64,
and add it to your management file.
Ensure there are no extra lines in the preferences.
- Type: Boolean
- Default Value: True
- Required: No
- Version: v2.0 and later
When disabled, Nudge will not show the Actively Exploited CVEs in the left sidebar.
- Type: Boolean
- Default Value: True
- Required: No
- Version: v1.1.0 and later
Enables the deferral count in simpleMode and standardMode. Defaults to true to maintain v1.0 compatibility.
Note: While you can disable the deferral count, the deferral count behavior logic will still apply. This may confuse your users. Be mindful of disabling this setting.
- Type: Boolean
- Default Value: True
- Required: No
- Version: v2.0 and later
When disabled, Nudge will not show the Days Remaining To Update:
item on the left side of the UI.
- Type: Boolean
- Default Value: False
- Required: No
- Version: v2.0 and later
When enabled, Nudge will also show the requiredInstallationDate as string formatted date.
- Type: Boolean
- Default Value: False
- Required: No
- Version: v1.1.0 and later
Enables Nudge to launch in the simplified user experience.
- Type: Boolean
- Default Value: False
- Required: No
- Version: v1.1.0 and later
Only display one quit button regardless of proximity to the due date.
- Type: Array
- Default Value: []
- Required: No
- Version: v2.0 and later
A list of dictionaries, enabling further customization to the Nudge UI. Please see the updateElements wiki article for more information.
{
"userInterface": {
"actionButtonPath": "munki://updates",
"fallbackLanguage": "en",
"forceFallbackLanguage": false,
"forceScreenShotIcon": false,
"iconDarkPath": "/somewhere/logoDark.png",
"iconLightPath": "https://somewhere/dir/logoLight.png",
"screenShotDarkPath": "/somewhere/screenShotDark.png",
"screenShotLightPath": "https://somewhere/dir/screenShotLight.png",
"showDeferralCount": true,
"simpleMode": false,
"singleQuitButton": false,
"updateElements": []
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>Configures userInterface preferences</string>
<key>PayloadDisplayName</key>
<string>Nudge Preferences</string>
<key>PayloadIdentifier</key>
<string>com.github.macadmins.Nudge.preferences.example.userInterface</string>
<key>PayloadOrganization</key>
<string></string>
<key>PayloadType</key>
<string>com.github.macadmins.Nudge</string>
<key>PayloadUUID</key>
<string>CA02957C-7472-446B-9F77-3E0414405556</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>userInterface</key>
<dict>
<key>actionButtonPath</key>
<string>munki://updates</key>
<key>fallbackLanguage</key>
<string>en</string>
<key>forceFallbackLanguage</key>
<false/>
<key>forceScreenShotIcon</key>
<false/>
<key>iconDarkPath</key>
<string>/somewhere/logoDark.png</string>
<key>iconLightPath</key>
<string>https://somewhere/dir/logoLight.png</string>
<key>screenShotDarkPath</key>
<string>/somewhere/screenShotDark.png</string>
<key>screenShotLightPath</key>
<string>https://somewhere/dir/screenShotLight.png</string>
<key>showDeferralCount</key>
<true/>
<key>simpleMode</key>
<false/>
<key>singleQuitButton</key>
<false/>
<key>updateElements</key>
<array/>
</dict>
</array>
<key>PayloadDescription</key>
<string>Configures Nudge application</string>
<key>PayloadDisplayName</key>
<string>Nudge</string>
<key>PayloadIdentifier</key>
<string>com.github.macadmins.Nudge.example.userInterface</string>
<key>PayloadOrganization</key>
<string>Nudge</string>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>2F54F734-132D-4539-B583-F1DCF23DB5EB</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>