Advanced Settings

In the examples below, the preferences are modified using the defaults command in the Terminal application. However, the information should be sufficient to configure Particulars with MDM or another deployment tool. (Not all configuration changes take effect immediately.)

Lab Mode

Particulars has a special mode named 'Lab Mode' that disables end-user interaction with the application. In Lab Mode, Particulars must be configured using Managed Preferences or another deployment tool.

labMode

Lab Mode eases the deployment of Particulars in a computer lab or other mass deployment. It changes the following about Particulars' behavior:

These changes combine to make the user interface of Particulars inaccessible.

Administrators enabling labMode with Managed Preferences are also encouraged to set showOnDesktop and showMenuBarExtra to a preferred value.

The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars labMode -bool true

Quitting in labMode

Since all user interface elements are disabled in labMode, how to quit Particulars is not immediately obvious. To quit Particulars while in labMode, open the Terminal application and enter:

killall Particulars

Login item notification

On macOS Ventura and later, macOS presents a Login items added notification when Particulars enables Launch at Login. Additionally, macOS Ventura allows users to remove Login Items in System Settings. This behavior can be suppressed by an MDM. The following information can be used in a MDM Service Management Managed Login Items payload.

Team Identifier2Z25XDNP2X
Particulars Bundle Identifiernet.glencode.Particulars
Particulars Launcher Bundle Identifiernet.glencode.ParticularsHelperApp

When a Mac with Particulars enabled to launch at login is upgraded from macOS Monterey or earlier to macOS Ventura or later, Particulars migrates from launching Particulars Launcher to launching Particulars.

Setting preferences

showOnDesktop

The default mode of Particulars is to present system information on the desktop. This can be disabled, usually in favor of showing Particulars in the menu bar.

The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars showOnDesktop -bool false

showMenuBarExtra

Adds an item to the macOS menu bar that allows quick access to system information. Secondary-clicking on the menu bar item shows a menu with settings, copying, and other functions.

The value is boolean, meaning it will take true or false. (As mentioned above, enabling labMode disables secondary-clicking on the menu bar item.)

defaults write net.glencode.Particulars showMenuBarExtra -bool true

detailLevel

The standard Detail Levels can be configured as follows. The value is an integer.

LevelNumber
Hardware253
Status2045
Network4093

defaults write net.glencode.Particulars detailLevel -int 2045

preferredDisplay

Sets the display (or monitor) on which Particulars will show desktop system information. If the display is later unavailable, Particulars will default back to the primary display.

The value is an integer, taking 2 for the 2nd display, for example.

defaults write net.glencode.Particulars preferredDisplay -int 2

desktopPosition

Sets the relative position of desktop system information.

The value is an integer following the layout below.

0 - Top Left1 - Top Center2 - Top Right
3 - Middle Left4 - Middle Center5 - Middle Right
6 - Bottom Left7 - Bottom Center8 - Bottom Right

Values not documented in the table above are ignored and the default (Top Left) is used.

defaults write net.glencode.Particulars desktopPosition -int 6

textTheme

Sets the theme of desktop system information. Each theme has a corresponding number. If using a custom theme see the section below.

ThemeNumber
Classic0
System (Default)1
Mono2
Custom255

defaults write net.glencode.Particulars textTheme -int 1

lightDarkText

Particulars has 3 options for the shade of the desktop system information. The value is an integer and the options are as follows:

ShadeNumber
Automatic0
Light text (default)1
Dark text2

Values not documented in the table above are ignored and the default is used.

The Automatic setting scans the current desktop picture to determine what setting to use. If battery life or performance is a concern, use 1 or 2.

defaults write net.glencode.Particulars lightDarkText -int 2

textSize

Sets the preferred text size for the desktop system information in points. The default is 18. Values between 12 and 24 are typical. (Value may be scaled down to fit.)

defaults write net.glencode.Particulars textSize -int 24

dropShadow

Determines whether the desktop system information has a drop shadow behind it. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars dropShadow -bool true

valueFont, valueColor, labelFont, labelColor

When using a custom theme, fonts and colors for labels and values are stored in binary formats in the above named preferences. These binary formats makes them difficult to set with the defaults commands. They can be extracted from the preferences file and copied to other computers.

labelCase

Sets the letter case of the labels. Each case option has a corresponding number.

CaseNumber
Unaltered0
lower (Default)1
UPPER2

defaults write net.glencode.Particulars labelCase -int 0

Sets the appearance of the menu bar widget. The value is an integer based on the following table:

AppearanceNumber
System appearance (Default)0
Vibrant Light1
Vibrant Dark2
Light3
Dark4

defaults write net.glencode.Particulars menuBarWidgetAppearance -int 4

Sets the preferred text size in the menu bar widget in points. The default is 12. Values below 9 and above 24 are ignored. (Value may be scaled down to fit.)

defaults write net.glencode.Particulars menuBarWidgetTextSize -int 14

Network Preferences

allNetworkInterfaces

When enabled in the detail level, Particulars displays information about the primary active network interface. This setting expands that to include information about all active network interfaces. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars allNetworkInterfaces -bool true

dhcpLeaseRemaining

In the default network information, Particulars shows the DHCP server address and the length of the DHCP lease. This setting adds the remaining lease time. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars dhcpLeaseRemaining -bool true

macAddressFormat

By default, MAC (Media Access Control) addresses are formatted with colon separators and in lowercase. Use this setting to select another MAC address format.

NumberNameDescriptionExample
0Plainlowercase, no separators0123456789ab
1Unix (default)lowercase, colon separated01:23:45:67:89:ab
2Ciscolowercase, dot separated0123.4567.89ab
3Windows/IEEEuppercase, dash separated01-23-45-67-89-AB

The value is an integer. Values not documented in the table above are ignored and the default is used.

defaults write net.glencode.Particulars macAddressFormat -int 2

networkDetailLevel

By default, all network information is displayed. It is possible to construct a custom set of network information. To create a custom network detail level, take the numeric value of each particular piece of information in the table below and sum them.

Interface name1
MAC address4
SSID8
IPv4 addresses16
DHCPv4 server and lease32
IPv6 addresses64
Router256
DNS servers512
DNS search domains1024
Public IP address2048

defaults write net.glencode.Particulars networkDetailLevel -int 2933

networkNotifications

When enabled, Particulars will post system notifications when it detects a change in the primary IPv4 address or the public IP address. Notifications are also governed by settings in the Notifications pane of System Settings. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars networkNotifications -bool true

subnetMaskCIDRNotation

This setting displays subnet masks in the short CIDR (Classless Inter-domain Routing) notation. For example, 255.255.254.0 will show as /23. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars subnetMaskCIDRNotation -bool true

Advanced Preferences

coreCount

Adds a count of CPU cores to the CPU particular. The value is boolean, meaning it will take true or false. Changing this setting requires a restart of the application to take effect.

defaults write net.glencode.Particulars coreCount -bool true

detailLevel

In addition to the pre-defined detail levels, it possible to construct a custom detail level. To create a custom detail level, take the numeric value of each particular piece of information in the table below and sum them.

Computer name1
Model identifier2
Model name4
Serial number8
CPU/SoC16
RAM32
GPU64
Operating system128
Current user256
Uptime512
Disk free space1024
Network2048
Darwin version16384
Model number32768
Part number65536

For example, to only display Model name, Serial number, CPU, RAM, GPU and Operating system, the total is 252 (4+8+16+32+64+128).

defaults write net.glencode.Particulars detailLevel -int 252

diskFreeSpace

Free/available disk space can be displayed in multiple ways. The value of the option is an integer.

  1. Free - the reported amount is the unused space on the volume. (Default)
  2. All available (including purgeable) - the reported amount is all available space on the volume including space that macOS may purge if free disk space is low.
  3. Free and purgeable - The free and purgeable space are reported as two separate numbers.

defaults write net.glencode.Particulars diskFreeSpace -int 1

diskFreeSpaceNonBootVolumes

By default, Particulars only shows disk space for the boot disk. Enable this setting to show disk space for other disks. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars diskFreeSpaceNonBootVolumes -bool true

firstRunDone

On first run, Particulars displays a welcome window that describes how it runs on the desktop and then hides all other apps and opens the settings window. To skip this first run experience, enable this setting. (As mentioned above, enabling labMode implies this setting.)

defaults write net.glencode.Particulars firstRunDone -bool true

headerText/footerText

Header text or footer text is displayed in a separate paragraph above or below all particulars. Any leading or trailing whitespace is removed.

If set using defaults these preferences support line breaks with the use of \n in the string.

defaults write net.glencode.Particulars headerText "This Mac is property of Burger Bell"

defaults write net.glencode.Particulars headerText "Text on line 1\nText on line 2"

defaults write net.glencode.Particulars footerText "For technical support call ext 1701"

If set using Managed Preferences with a property list file, multi-line strings must be formatted in-line with line breaks and no leading whitespace on subsequent lines:

<?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>footerText</key>
	<string>Text on line 1
Text on line 2</string>
</dict>
</plist>

hideDockIcon

Enabling this setting removes Particulars from the macOS Dock. Changing this setting while Particulars is running will automatically restart Particulars and open the Settings window. The value is boolean, meaning it will take true or false. (As mentioned above, enabling labMode implies this setting.)

defaults write net.glencode.Particulars hideDockIcon -bool true

ignoreHiding

When Particulars is running with the Dock icon shown, it will be hidden along with all other apps when one selects Hide Others from another application's menu. This preference keeps Particulars visible. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars ignoreHiding -bool true

operatingSystemVersionName

This setting adds the operating system version's marketing name (e.g., Big Sur, Catalina, etc) to the Operating System particular. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars operatingSystemVersionName -bool true


Help Home