Advanced Preferences

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 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. 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

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 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 system information on the desktop.

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 text theme. 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 output. 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 text size. The default is 18. Values between 12 and 24 are typical.

defaults write net.glencode.Particulars textSize -int 24

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

dropShadow

Determines whether the system information on the desktop 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.

Network Preferences

allNetworkInterfaces

By default, Particulars only displays information about the primary active network interface. To show information about all active network interfaces, set allNetworkInterfaces. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars allNetworkInterfaces -bool true

dhcpLeaseRemaining

Particulars shows the DHCP server address and the length of the DHCP lease. Setting this preference will also show 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. There are other MAC address formats available.

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 preference pane in System Preferences. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars networkNotifications -bool true

subnetMaskCIDRNotation

Use this preference to have Particulars display 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 item. The value is boolean, meaning it will take true or false. Changing this preference 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 preference 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 preferences window. To skip this first run experience, set this preference. (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 on the desktop in a separate paragraph above or below all particulars. These preferences support line breaks with the use of \n in the string. Any leading or trailing whitespace is removed.

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 setting headerText or footerText using Managed Preferences with a property list file, multi-line strings must be formatted in-line with newlines 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 removes Particulars from the macOS Dock. Enabling or disabling this preference from Terminal will automatically restart Particulars and open the Preferences 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 preference adds the operating system version's marketing name (e.g., Big Sur, Catalina, etc) to the Operating system particular output. The value is boolean, meaning it will take true or false.

defaults write net.glencode.Particulars operatingSystemVersionName -bool true

showMenuBarExtra

Adds an item to the macOS menu bar that allows quick access to preferences, copying, and other functions. The value is boolean, meaning it will take true or false. (As mentioned above, enabling labMode overrides this setting.)

defaults write net.glencode.Particulars showMenuBarExtra -bool true


Help Home