Skip to content
Dan K. Snelson edited this page Jun 5, 2022 · 78 revisions

acceptableApplicationBundleIDs - Type: Array, Default Value: [], Required: No

v1.1.7 and later

The application Bundle ID which Nudge allows without taking focus. (You can specify one or more Bundle ID.)

Disables Nudge's re-activation logic for the listed applications. If one of the specified applications is foremost, Nudge will not reactivate itself. (This feature does not work for Nudge's initial activation.)

  • Xcode is forced added to the acceptableApplicationsList when Nudge is running in debug mode.

acceptableAssertionUsage - Type: Boolean, Default Value: False, Required: No

v1.1.7 and later

When enabled, Nudge will not activate or re-activate when assertions are currently set.

See also: acceptableAssertionApplicationNames


acceptableAssertionApplicationNames - Type: Array, Default Value: [], Required: No

v1.1.7 and later

The application names using assertions which Nudge allows without taking focus. You can specify one or more applications. To find the names please run /usr/bin/pmset -g assertions in Terminal while the application is open and running.

For example this would be:

  • zoom.us
  • Meeting Center

acceptableCameraUsage - Type: Boolean, Default Value: False, Required: No

When enabled, Nudge will not activate or re-activate when the camera is on.

v1.1.7 and later


acceptableScreenSharingUsage - Type: Boolean, Default Value: False, Required: No

v1.1.7 and later

When enabled, Nudge will not activate or re-activate when screen sharing is active.


aggressiveUserExperience - Type: Boolean, Default Value: True, Required: No

v1.1.0 and later

When disabled, Nudge will not hide all non-acceptableApplicationBundleIDs after the requiredInstallationDate or allowedDeferrals.


aggressiveUserFullScreenExperience - Type: Boolean, Default Value: True, Required: No

v1.1.7 and later

When disabled, Nudge will not create a blurred background when the computer is passed the deferral window.


asyncronousSoftwareUpdate (deprecated) - Type: Boolean, Default Value: True, Required: No

v1.1.3 and earlier

When disabled, Nudge will wait for Software Update to finish downloading (if any) updates before showing its UI.

Deprecated for asynchronousSoftwareUpdate


asynchronousSoftwareUpdate - Type: Boolean, Default Value: True, Required: No

v1.1.4 and later

When disabled, Nudge will wait for Software Update to finish downloading (if any) updates before showing its UI.


attemptToFetchMajorUpgrade - Type: Boolean, Default Value: True, Required: No

v1.1.4 and later

When disabled, Nudge will not attempt to download a major upgrade application via softwareupdate.


attemptToBlockApplicationLaunches - Type: Boolean, Default Value: false, Required: No

v1.1.7 and later

When enabled, Nudge will attempt to block application launches after the required installation date.

This key must be used in conjunction with blockedApplicationBundleIDs.

A Notification Profile should be implemented so the user can see why the application is closed.


blockedApplicationBundleIDs - Type: Array, Default Value: [], Required: No

v1.1.7 and later

The application Bundle ID which Nudge blocks from launching after the required installation date. You can specify one or more Bundle ID.

For example this would be:

  • us.zoom.xos
  • com.microsoft.Word

disableSoftwareUpdateWorkflow - Type: Boolean, Default Value: False, Required: No

v1.1.5 and later

When enabled, Nudge will not attempt to download a minor update via softwareupdate.

See also: majorUpgradeAppPath


enforceMinorUpdates - Type: Boolean, Default Value: True, Required: No

When enabled, Nudge will enforce minor updates. This should likely never be disabled.


terminateApplicationsOnLaunch - Type: Boolean, Default Value: False, Required: No

When enabled, Nudge will terminate the applications listed in blockedApplicationBundleIDs upon initial launch.

A Notification Profile should be implemented so the user can see why the application is closed.

Example (JSON)

{
  "optionalFeatures": {
    "acceptableAssertionApplicationNames": [
        "zoom.us",
        "Meeting Center",
        "Google Chrome",
        "Safari"
    ],
    "acceptableAssertionUsage": true,
    "acceptableApplicationBundleIDs": [
      "us.zoom.xos",
      "com.cisco.webexmeetingsapp"
    ],
    "asynchronousSoftwareUpdate": true,
    "attemptToFetchMajorUpgrade": true,
    "enforceMinorUpdates": true
  },
}

Example (Mobile Configuration)

<?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 optionalFeatures preferences</string>
        <key>PayloadDisplayName</key>
        <string>Nudge Preferences</string>
        <key>PayloadIdentifier</key>
        <string>com.github.macadmins.Nudge.preferences.example.optionalFeatures</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>optionalFeatures</key>
        <dict>
          <key>acceptableApplicationBundleIDs</key>
          <array>
            <string>us.zoom.xos</string>
          </array>
          <key>asynchronousSoftwareUpdate</key>
          <true/>
          <key>attemptToFetchMajorUpgrade</key>
          <true/>
          <key>enforceMinorUpdates</key>
          <true/>
        </dict>
      </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.optionalFeatures</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>
Clone this wiki locally