System Settings in macOS
Redesigned but so many inconsistencies remain
Now that version 14 is out, the macOS system settings redesign that first appeared in macOS Ventura can be considered settled.
Many things have changed, and while many remain the same, some things are better and others are worse. Today I needed to make some System Settings changes and found it difficult. Perhaps it is me, having grown up with macOS System Settings and all its quirks over the last more than twenty years but there seem to be a couple of hurdles now that weren't there before. But I do note that other operating systems tinker with settings screens too and all seem to face the same problem of how to organise infrequently used choices that can have quite an impact for the behaviour of the OS in a way that doesn't get in the way of getting things done.
TL:DR — System Settings in macOS is a halfway house between what was there before and something inspired by iOS/iPadOS but it is not very intuitive. Setting up a power schedule requires an obscure command from the terminal now. Thats progress? Sharing and other important functionality is hard to find or gone. Power schedules in particular is now relegated to the terminal via the obscure pmset
command.
Contents
- System Settings in macOS
- Redesigned but so many inconsistencies remain
- macOS System Settings
- macOS System Settings annoyances
- Alphabetic 'View' menu
- Icon colour inconsistencies
- No shortcuts
- macOS System Settings extension resource locators
- Energy settings missing
- Setting up a power schedule for macOS with pmset
- pmset -g
- pmset scheduled events
macOS System Settings
This article came about because I couldn't find 'Sharing' in the main System Settings Window. Sharing appears in the search results and even has a monochrome icon and it also appears in the Alphabetic list from the 'View' menu, but it seems bad to me that the main window is organised a bit like an iPad. It doesn't make much sense on a Mac, but I assumed it was to do with the human interface guidelines. It sucks here because a Mac isn't an iPad. My Mac has a 27in display - my screenshot is 1182 px wide and tall - there's plenty of room for System Settings to show me a far more engaging and useful window.
In previous versions you could hide and show System settings items but you cannot do that anymore. You cannot reorder them, actually you cannot do anything with them from the user interface.
macOS System Settings annoyances
Alphabetic 'View' menu
So you are kind of forced to use the search, which implies that you know what you might be searching for. I do not necessarily know the jargon word Apple have decided to use for a particular feature so I prefer graphics to help me find them.
I get that the view menu is in alphabetic order. That perhaps makes sense for accessibility. but the confusion between the items in the view menu and the items in the window is really jarring for me.
Icon colour inconsistencies
Then theres the icon colours. Am I to infer that all the monochrome ones are somehow 'together' in some way? Or are they just unfinished? I don't know. But there appears to be no consistency. Orange is only for Energy, whereas Blue is for network items but also displays and Users & Groups and Game Center (which I've never used in twenty years) is multi coloured. Also - who puts ampersands in main menu items! Bad Apple.
System Settings doesn't seem to have any easy automation either. Even the basic Screen Sharing app included in macOS lets me save a connection to the desktop. How about letting me save a Setting Page as a shortcut so I can get to it easily again. I regularly use three or four System Settings and hardly ever use any of the others so that would be a help.
No shortcuts
It seems to me that macOS was all about the promise of the extra power under the hood, with command line access to everything, so after a little searching I did find a list of System Settings extensions which can be used in scripting. These aren't very user friendly but enough to be able to create a settings page shortcut.
You can see theres even one for Sharing - so you can use it from terminal - which is the annoyance that made me write this up in the first place like this % open x-apple.systempreferences:com.apple.Sharing-Settings.extension
How hard could it be to add a right click save shortcut option to the System Settings app?
macOS System Settings extension resource locators
Forked from a collection on Github. You can use open from finder to go directly to any of the extensions you need.
Setting | Sub-section | RL |
---|---|---|
Apple ID | x-apple.systempreferences:com.apple.systempreferences.AppleIDSettings | |
Family | x-apple.systempreferences:com.apple.Family-Settings.extension | |
Wi-Fi | x-apple.systempreferences:com.apple.wifi-settings-extension | |
Bluetooth | x-apple.systempreferences:com.apple.BluetoothSettings | |
Network | x-apple.systempreferences:com.apple.Network-Settings.extension | |
Notifications | x-apple.systempreferences:com.apple.Notifications-Settings.extension | |
Sound | x-apple.systempreferences:com.apple.Sound-Settings.extension | |
Focus | x-apple.systempreferences:com.apple.Focus-Settings.extension | |
Screen Time | x-apple.systempreferences:com.apple.Screen-Time-Settings.extension | |
General | x-apple.systempreferences:com.apple.systempreferences.GeneralSettings | |
About | x-apple.systempreferences:com.apple.SystemProfiler.AboutExtension | |
Software Update | x-apple.systempreferences:com.apple.Software-Update-Settings.extension | |
Storage | x-apple.systempreferences:com.apple.settings.Storage | |
AirDrop & Handoff | x-apple.systempreferences:com.apple.AirDrop-Handoff-Settings.extension | |
Login Items | x-apple.systempreferences:com.apple.LoginItems-Settings.extension | |
Language & Region | x-apple.systempreferences:com.apple.Localization-Settings.extension | |
Date & Time | x-apple.systempreferences:com.apple.Date-Time-Settings.extension | |
Sharing | x-apple.systempreferences:com.apple.Sharing-Settings.extension | |
Time Machine | x-apple.systempreferences:com.apple.Time-Machine-Settings.extension | |
Transfer or Reset | x-apple.systempreferences:com.apple.Transfer-Reset-Settings.extension | |
Startup Disk | x-apple.systempreferences:com.apple.preference.startupdisk | |
Appearance | x-apple.systempreferences:com.apple.Appearance-Settings.extension | |
Accessibility | x-apple.systempreferences:com.apple.Accessibility-Settings.extension | |
Voice Over | x-apple.systempreferences:com.apple.preference.universalaccess?Seeing_VoiceOver | |
Zoom | x-apple.systempreferences:com.apple.preference.universalaccess?Zoom | |
Display | x-apple.systempreferences:com.apple.preference.universalaccess?Seeing_Display | |
Spoken Content | x-apple.systempreferences:com.apple.preference.universalaccess?SpokenContent | |
Descriptions | x-apple.systempreferences:com.apple.preference.universalaccess?Descriptions | |
Audio | x-apple.systempreferences:com.apple.preference.universalaccess?Audio | |
Captions | x-apple.systempreferences:com.apple.preference.universalaccess?Captions | |
Voice Control | x-apple.systempreferences:com.apple.preference.universalaccess?VoiceControl | |
Keyboard | x-apple.systempreferences:com.apple.preference.universalaccess?Keyboard | |
Pointer Control | x-apple.systempreferences:com.apple.preference.universalaccess?Mouse | |
Switch Control | x-apple.systempreferences:com.apple.preference.universalaccess?Switch | |
Siri | x-apple.systempreferences:com.apple.preference.universalaccess?Siri | |
Shortcut | x-apple.systempreferences:com.apple.preference.universalaccess?Shortcut | |
Control Centre | x-apple.systempreferences:com.apple.ControlCenter-Settings.extension | |
Siri & Spotlight | x-apple.systempreferences:com.apple.Siri-Settings.extension | |
Privacy & Security | x-apple.systempreferences:com.apple.preference.security | |
Location Services | x-apple.systempreferences:com.apple.preference.security?Privacy_SystemServices | |
Contacts | x-apple.systempreferences:com.apple.preference.security?Privacy_Contacts | |
Calendars | x-apple.systempreferences:com.apple.preference.security?Privacy_Calendars | |
Reminders | x-apple.systempreferences:com.apple.preference.security?Privacy_RemindersPrivacy | |
Microphone | x-apple.systempreferences:com.apple.preference.security?Privacy_Microphone | |
Camera | x-apple.systempreferences:com.apple.preference.security?Privacy_Camera | |
Automation | x-apple.systempreferences:com.apple.preference.security?Privacy_Automation | |
AllFiles | x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles | |
Accessibility | x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility | |
Advertising | x-apple.systempreferences:com.apple.preference.security?Privacy_Advertising | |
Desktop & Dock | x-apple.systempreferences:com.apple.Desktop-Settings.extension | |
Displays | x-apple.systempreferences:com.apple.Displays-Settings.extension | |
Wallpaper | x-apple.systempreferences:com.apple.Wallpaper-Settings.extension | |
Screen Saver | x-apple.systempreferences:com.apple.ScreenSaver-Settings.extension | |
Battery | x-apple.systempreferences:com.apple.Battery-Settings.extension | |
Lock Screen | x-apple.systempreferences:com.apple.Lock-Screen-Settings.extension | |
Touch ID & Password | x-apple.systempreferences:com.apple.Touch-ID-Settings.extension | |
Users & Groups | x-apple.systempreferences:com.apple.Users-Groups-Settings.extension | |
Passwords | x-apple.systempreferences:com.apple.Passwords-Settings.extension | |
Internet Accounts | x-apple.systempreferences:com.apple.Internet-Accounts-Settings.extension | |
Game Center | x-apple.systempreferences:com.apple.Game-Center-Settings.extension | |
Wallet & Apple Pay | x-apple.systempreferences:com.apple.WalletSettingsExtension | |
Keyboard | x-apple.systempreferences:com.apple.Keyboard-Settings.extension | |
Trackpad | x-apple.systempreferences:com.apple.Trackpad-Settings.extension | |
Printers & Scanners | x-apple.systempreferences:com.apple.Print-Scan-Settings.extension |
https://github.com/multizone-uk/piarasj.github.io/blob/master/ventura_settings.md
Energy settings missing
In previous versions of macOS it has been possible to set custom startup, shutdown and wake up times for Mac computers from System Preferences. Its gone but not forgotten in macOS now. I don't know why. It is a feature I use all the time to try to manage power consumption of my Mac computers.
There has always been a command line utility pmset
— a tool to manipulate power management settings. You can use it to manage power management settings such as idle sleep timing, wake on administrative access, automatic restart on power loss - and more. It isn't a fail safe. Other tools such as 'caffeinate' may override these System Settings.
pmset is not the most straightforward tool to use compared to the the graphical user interface which has been removed from macOS System Settings. But here we are.
Setting up a power schedule for macOS with pmset
pmset
is a swiss army knife of functionality for sleep, standby, UPS, scheduled event, and power source debugging, The examples in the man page show some uses of most of them. My mac mini is a desktop with no battery or uninterruptible power supply (UPS) so I need a simple power regime to make sure my Mac mini is on for remote backup when I need it to be online - this is exactly what used to be possible via System Settings.
pmset -g
Lets first check what is currently set on my Mac, upgraded from macOS Monterey to macOS Sonoma. (Annotations mine)
% pmset -g
System-wide power settings:
Currently in use:
disksleep 10 - Disk spindown timer; (value in minutes, or 0 to disable)
powernap 1 - Enable/disable Power Nap on supported machines (value = 0/1)
womp 1 - Same as "Wake for network access" in System Settings.
networkoversleep 0 - This setting is not used by all platforms; changing its value is unsupported
sleep 10 - (sleep prevented by sharingd, powerd, bluetoothd)
Sleep On Power Button 1 - Not documented
ttyskeepawake 1 - prevent idle system sleep when any tty is 'active'. (value = 0/1)
tcpkeepalive 1 - Not documented
autorestart 1 - automatic restart on power loss (value = 0/1)
standby 0 - kernel power management to automatically hibernate (setting visible if the feature is supported on this machine)
displaysleep 10 - display sleep timer (value in minutes, or 0 to disable)
Not sure if ttyskeepalive
respects Apple Remote Dektop (ARD), but I hope so! The disksleep
parameter seems a bit weird. All Mac computers have been SSD for years now. There is no disk to 'spindown'. And standby
is a bit weird too. This is a Mac mini - it wouldn't normally hibernate. Ignoring these for now.
pmset scheduled events
pmset
allows you to schedule system sleep, shutdown, wakeup and/or power on. schedule
is for setting up one-time power events, and repeat
is for setting up daily/weekly power on and power off events. Note that you may only have one pair of repeating events scheduled - a "power on" event and a "power off" event. For sleep cycling applications, pmset can schedule a "relative" wakeup or poweron to occur in seconds from the end of system sleep/shutdown, but this event cannot be cancelled and is inherently imprecise" - Source: pmset Man page
type - one of sleep, wake, poweron, shutdown, wakeorpoweron
date/time - "MM/dd/yy HH:mm:ss" (in 24 hour format; must be in quotes)
time - HH:mm:ss
weekdays - a subset of MTWRFSU ("M" and "MTWRF" are valid strings)
owner - a string describing the person or program who is scheduling this one-time power event (optional)
This is obtuse for 2023. Weekdays have letters to describe them, in a way so as to have a unique letter for each day. Old school Unix I guess. Not very 'global'. Anyway, for my purposes for one particular Mac Mini I want it to power on on Saturday at 09:00 and shutdown at 21:00 so the command which has to be run by sudo is :-
sudo pmset repeat wakeorpoweron S 09:00:00 shutdown S 21:00:00
You can check that is set correctly using % pmset -g sched
% pmset -g sched
Repeating power events:
wakepoweron at 9:00AM Saturday
shutdown at 9:00PM Saturday
...
And for another Mac I want the machine to wake each morning in time for my morning routine.
% sudo pmset repeat wakeorpoweron MTWRFSU 09:00:00 shutdown MSU 18:30:00
% pmset -g sched
Repeating power events:
wakepoweron at 9:00AM every day
shutdown at 6:30PM Some days
...
Now that is set I can go ahead and configure my backup regime content that my machine will be up all day Saturday to run it. That's another story..