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 configuration profiles or another deployment tool. The preference domain is net.glencode.Particulars. (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

boolean | default: false | version: 1.0

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.

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
Launch Agent Labelnet.glencode.Particulars

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

boolean | default: true | version: 54

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.

defaults write net.glencode.Particulars showOnDesktop -bool false

showMenuBarExtra

boolean | default: false | version: 26

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.

(As mentioned above, enabling labMode disables secondary-clicking on the menu bar item.)

defaults write net.glencode.Particulars showMenuBarExtra -bool true

detailLevel

integer | default: 4093 | version: 1.1

The standard Detail Levels can be configured as follows.

LevelNumber
Hardware253
Status2045
Network4093

defaults write net.glencode.Particulars detailLevel -int 2045

Custom detailLevel

In addition to the pre-defined detail levels, it possible to construct a custom detail level. Check the boxes in the calculator below to build a custom detail level.

Computer name1
Model identifier2
Model name4
Serial number8
CPU/SoC16
RAM32
GPU64
Operating system128
Current user256
Uptime512
Disk free space1024
Network2048
Boot time (experimental)4096
Key app versions (experimental)8192
Darwin version16384
Model number32768
Part number65536
Displays (experimental)131072

Custom detailLevel:

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

preferredDisplay

integer | default: 1 | version: 1.1

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

integer | default: 0 | version: 30

Sets the relative position of desktop system information.

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

desktopMargin

integer | default: 21 | version: 58

When displaying system information on the desktop, Particulars uses all available screen size, inset by a default margin of 21pt. Margins can be adjusted. desktopMargin modifies all four margins. However, they can be individually overriden by desktopTopMargin, desktopBottomMargin, desktopLeftMargin, and desktopRightMargin.

The total of the top and bottom margins must not exceed half of the height of the display. The total of the left and right margins must not exceed half of the width of the display. Margins exceeding these limits will be defaulted to half the available screen dimension. Values lower than 0 are ignored.

defaults write net.glencode.Particulars desktopMargin -int 96

defaults write net.glencode.Particulars desktopBottomMargin -int 120

Margins can be seen and debugged by temporarily setting:

defaults write net.glencode.Particulars colorDesktopWindowFrames -bool true

textTheme

integer | default: 1 | version: 26

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 2

lightDarkText

integer | default: 1 | version: 1.0

Particulars has 3 options for the shade of the desktop system information. 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

integer | default: 18 | version: 1.0

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

defaults write net.glencode.Particulars textSize -int 24

dropShadow

boolean | default: true | version: 1.0

Determines whether the desktop system information has a drop shadow behind it.

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

integer | default: 1 | version: 28

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

integer | default: 0 | version: 53

Sets the appearance of the menu bar widget.

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

defaults write net.glencode.Particulars menuBarWidgetAppearance -int 4

integer | default: 12 | version: 53

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

defaults write net.glencode.Particulars menuBarWidgetTextSize -int 14

Network Preferences

allNetworkInterfaces

boolean | default: false | version: 31

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.

defaults write net.glencode.Particulars allNetworkInterfaces -bool true

dhcpLeaseRemaining

boolean | default: false | version: 1.3

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.

defaults write net.glencode.Particulars dhcpLeaseRemaining -bool true

macAddressFormat

integer | default: 1 | version: 1.1

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

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

defaults write net.glencode.Particulars macAddressFormat -int 2

networkDetailLevel

integer | default: 65527 | version: 35

By default, all network information is displayed except the Wi-Fi SSID. It is possible to construct a custom set of network information. Check the boxes in the calculator below to build a custom network detail level.

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

Custom networkDetailLevel:

defaults write net.glencode.Particulars networkDetailLevel -int 2933

* Showing the SSID requires that the user grant location permission on macOS 14.4 and later

networkNotifications

boolean | default: false | version: 31

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.

defaults write net.glencode.Particulars networkNotifications -bool true

subnetMaskCIDRNotation

boolean | default: false | version: 1.1

This setting displays subnet masks in the short CIDR (Classless Inter-domain Routing) notation. For example, 255.255.254.0 will show as /23.

defaults write net.glencode.Particulars subnetMaskCIDRNotation -bool true

explicitNoNetworkConfiguration

boolean | default: false | version: 58

If network is enabled in the detail level, but no active network interfaces are found, Particulars displays nothing. This setting overrides that behavior and shows "No network configuration detected" where the network configuration would be displayed.

defaults write net.glencode.Particulars explicitNoNetworkConfiguration -bool true

Advanced Preferences

appStoreVersionCheck

boolean | default: true | version: 58

Particulars checks for new Particulars versions in the Mac App Store. Thirty days after a new version is released, an encouragement to upgrade is added to system information. This check can be disabled. Changes to this setting take effect on launch.

defaults write net.glencode.Particulars appStoreVersionCheck -bool false

coreCount

boolean | default: false | version: 26

Adds a count of CPU cores to the CPU particular. Changes to this setting take effect on launch.

defaults write net.glencode.Particulars coreCount -bool true

diskFreeSpace

integer | default: 0 | version: 40

Free/available disk space can be displayed in multiple ways.

  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

boolean | default: false | version: 46

By default, Particulars only shows disk space for the boot disk. Enable this setting to show disk space for other disks.

defaults write net.glencode.Particulars diskFreeSpaceNonBootVolumes -bool true

firstRunDone

boolean | default: false | version: 1.0

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

string | default: Undefined | version: 44

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

boolean | default: false | version: 1.0

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. (As mentioned above, enabling labMode implies this setting.)

defaults write net.glencode.Particulars hideDockIcon -bool true

ignoreHiding

boolean | default: false | version: 1.3

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.

defaults write net.glencode.Particulars ignoreHiding -bool true

operatingSystemVersionName

boolean | default: false | version: 39

This setting adds the operating system version's marketing name (e.g., Big Sur, Catalina, etc) to the Operating System particular.

defaults write net.glencode.Particulars operatingSystemVersionName -bool true


Help Home