Amazon.co.uk Widgets

Log in

X

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 now 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 in a way that doesn't get in the way of getting things done.

TL:DRSystem 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, one of the last bastions of NextSTEP and a marvel on the NeXT computers is now relegated to the terminal via the obscure pmset command).

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. 

System settings menu and main window screenshot
System settings menu and main window screenshot

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 and really all the way back to NeXTSTEP 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 fil 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..


References

See also: