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.)
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.
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 encouraged to also set showOnDesktop and showMenuBarExtra to a preferred value.
Changes to this setting take effect on launch.
defaults write net.glencode.Particulars labMode -bool true
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
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 Identifier | 2Z25XDNP2X |
---|---|
Particulars Bundle Identifier | net.glencode.Particulars |
Particulars Launcher Bundle Identifier | net.glencode.ParticularsHelperApp |
Launch Agent Label | net.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.
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
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
integer | default: 4093 | version: 1.1
The standard Detail Levels can be configured as follows.
Level | Number |
---|---|
Hardware | 253 |
Status | 2045 |
Network | 4093 |
defaults write net.glencode.Particulars detailLevel -int 2045
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 name | 1 | |
Model identifier | 2 | |
Model name | 4 | |
Serial number | 8 | |
CPU/SoC | 16 | |
RAM | 32 | |
GPU | 64 | |
Operating system | 128 | |
Current user | 256 | |
Uptime | 512 | |
Disk free space | 1024 | |
Network | 2048 | |
Boot time (experimental) | 4096 | |
Key app versions (experimental) | 8192 | |
Darwin version | 16384 | |
Model number | 32768 | |
Part number | 65536 | |
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
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
integer | default: 0 | version: 30
Sets the relative position of desktop system information.
0 - Top Left | 1 - Top Center | 2 - Top Right |
3 - Middle Left | 4 - Middle Center | 5 - Middle Right |
6 - Bottom Left | 7 - Bottom Center | 8 - 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
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
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.
Theme | Number |
---|---|
Classic | 0 |
System (default) | 1 |
Mono | 2 |
Custom | 255 |
defaults write net.glencode.Particulars textTheme -int 2
integer | default: 1 | version: 1.0
Particulars has 3 options for the shade of the desktop system information. The options are as follows:
Shade | Number |
---|---|
Automatic | 0 |
Light text (default) | 1 |
Dark text | 2 |
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
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
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
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.
integer | default: 1 | version: 28
Sets the letter case of the labels. Each case option has a corresponding number.
Case | Number |
---|---|
Unaltered | 0 |
lower (default) | 1 |
UPPER | 2 |
defaults write net.glencode.Particulars labelCase -int 0
integer | default: 0 | version: 53
Sets the appearance of the menu bar widget.
Appearance | Number |
---|---|
System appearance (default) | 0 |
Vibrant Light | 1 |
Vibrant Dark | 2 |
Light | 3 |
Dark | 4 |
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
boolean | default: true | version: 53
Allows the menu bar widget to be drug away from the menu bar and appear in a floating window.
defaults write net.glencode.Particulars detachableMenuBarWidget -bool false
string | default: classic | version: 60
Specifies an alternative menu bar icon. Valid values are: classic, quatrefoil, quatrefoil.fill, and any valid SF Symbol. Changes to this setting take effect on launch or disabling/enabling the menu bar icon.
defaults write net.glencode.Particulars menuBarIcon macmini.fill
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
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
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.
Number | Name | Description | Example |
---|---|---|---|
0 | Plain | lowercase, no separators | 0123456789ab |
1 | Unix (default) | lowercase, colon separated | 01:23:45:67:89:ab |
2 | Cisco | lowercase, dot separated | 0123.4567.89ab |
3 | Windows/IEEE | uppercase, dash separated | 01-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
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 name | 1 | |
MAC address | 4 | |
SSID * | 8 | |
IPv4 addresses | 16 | |
DHCPv4 server and lease | 32 | |
IPv6 addresses | 64 | |
Router | 256 | |
DNS servers | 512 | |
DNS search domains | 1024 | |
Public IP address | 2048 |
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.
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
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
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 active network interfaces detected" where the network configuration would be displayed.
defaults write net.glencode.Particulars explicitNoNetworkConfiguration -bool true
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.
* This setting is defaulted to false when installed from the deployment package for organizations. It can be optionally set to true.
defaults write net.glencode.Particulars appStoreVersionCheck -bool false
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
integer | default: 0 | version: 40
Free/available disk space can be displayed in multiple ways.
defaults write net.glencode.Particulars diskFreeSpace -int 1
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
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
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>
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
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
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