bvanpeski / SystemPreferences

Navigating System Prefences/Settings on macOS
184 stars 8 forks source link

Now that we know how to open them, can we interact too ? #4

Closed daguitosama closed 1 year ago

daguitosama commented 1 year ago

How can we interact with this settings via the cli ?

Firs't big thanks for documenting how to discover and open this settings, super helpful. But i can't help my self with curiosity, now that i know the setting key i will like to found out how can i interact with his value.

Let's say I will like to interact with a setting like x-apple.systempreferences:com.apple.preference.universalaccess?Audio. In his background_sounds sub panel will like to toggle the background_suonds switch:

Screenshot 2023-02-10 at 14 45 05

Any idea on how this might be posible ?

bvanpeski commented 1 year ago

I'd first file feedback with Apple requesting that particular item be controllable via MDM/configuration profile.

In theory, you could automate the toggling of that slider with Applescript (along with a PPPC Profile allowing the MDM executing said applescript access to Accessibility to allow GUI controls).

bvanpeski commented 1 year ago

FWIW you MAY be able to just create/write a plist to the user Preferences folder to configure it. At a cursory glance, it looks like those settings get stored in ~/Library/Preferences/com.apple.ComfortSounds.plist

daguitosama commented 1 year ago

Big Thanks.

bvanpeski commented 1 year ago

Which means you can ALSO configure via a mobile config. Something like this:

<?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>PayloadContent</key>
 <array>
  <dict>
   <key>comfortSoundsEnabled</key>
   <true/>
   <key>ComfortSoundsSelectedSound</key>
   <string>YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
    AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGvECgLDBcYHh8lODk6Xl9gYWJj
    ZGVmZ2hpamtsbRZub3BxNzJzdHV2d3t+VSRudWxs1Q0ODxAREhMUFRZfEBZIVUNvbWZv
    cnRTb3VuZEFzc2V0S2V5ViRjbGFzc18QFUhVQ29tZm9ydFNvdW5kTmFtZUtleV8QFUhV
    Q29tZm9ydFNvdW5kUGF0aEtleV8QFkhVQ29tZm9ydFNvdW5kR3JvdXBLZXmABoAngAKA
    AxAFVFJhaW7TGQ4aGxwdV05TLmJhc2VbTlMucmVsYXRpdmWAAIAFgARfEINmaWxlOi8v
    L1N5c3RlbS9MaWJyYXJ5L0Fzc2V0c1YyL2NvbV9hcHBsZV9Nb2JpbGVBc3NldF9Db21m
    b3J0U291bmRzQXNzZXRzLzUwMzAyMWY1YjYwMzc1YTQ3ZmQ3YjkxMDc4MDA4ZjMzYTA5
    Y2E5ODEuYXNzZXQvQXNzZXREYXRhL9IgISIjWiRjbGFzc25hbWVYJGNsYXNzZXNVTlNV
    UkyiIiRYTlNPYmplY3TaJicoKQ4qKywtLi8VMTIzNDI1NjdXYXNzZXRJZFtvcmlnaW5h
    bFVSTFlhc3NldFR5cGVdZm9ybWF0VmVyc2lvbl1pc0Rvd25sb2FkaW5nXxAUY29tcGF0
    aWJpbGl0eVZlcnNpb25eY29udGVudFZlcnNpb25acHJvcGVydGllc1tpc0luc3RhbGxl
    ZIAHgAOACBABgCYIEACACQlfECg1MDMwMjFmNWI2MDM3NWE0N2ZkN2I5MTA3ODAwOGYz
    M2EwOWNhOTgxXxApY29tLmFwcGxlLk1vYmlsZUFzc2V0LkNvbWZvcnRTb3VuZHNBc3Nl
    dHPTOzwOPU1dV05TLmtleXNaTlMub2JqZWN0c68QDz4/QEFCQ0RFRkdISUpLTIAKgAuA
    DIANgA6AD4AQgBGAEoATgBSAFYAWgBeAGK8QD05PUFFSU1RVVRRYVFpbXIAZgBqAG4Ac
    gB2AHoAfgCCAIIACgCGAH4AigCOAJIAlXxAPX1VuYXJjaGl2ZWRTaXplWlNvdW5kR3Jv
    dXBVQnVpbGReX19SZWxhdGl2ZVBhdGhfEBVfTWVhc3VyZW1lbnRBbGdvcml0aG1fEBVf
    Q29tcHJlc3Npb25BbGdvcml0aG1fEBhfX0NhblVzZUxvY2FsQ2FjaGVTZXJ2ZXJdRm9y
    bWF0VmVyc2lvbl8QFENvbXBhdGliaWxpdHlWZXJzaW9uWVNvdW5kTmFtZVlfX0Jhc2VV
    UkxfEBBfSXNaaXBTdHJlYW1hYmxlXV9Eb3dubG9hZFNpemVcX01lYXN1cmVtZW50XxAQ
    X01hc3RlcmVkVmVyc2lvbhIEDHAAVjlNNjM5OF8QVmNvbV9hcHBsZV9Nb2JpbGVBc3Nl
    dF9Db21mb3J0U291bmRzQXNzZXRzLzUwMzAyMWY1YjYwMzc1YTQ3ZmQ3YjkxMDc4MDA4
    ZjMzYTA5Y2E5ODEuemlwVVNIQS0xU3ppcAlfEF9odHRwczovL3VwZGF0ZXMuY2RuLWFw
    cGxlLmNvbS8yMDIyL21vYmlsZWFzc2V0cy8wNzEtMDcxNjIvMUIwNkJCQ0UtNkRGQS00
    NjFBLTlENkQtQUYwN0EwODNGOEFFLxID+nx9TxAUCJ53Om5sTwsPnAGPtV/ySnCS21FU
    NjM5ONIgIXh5XxATTlNNdXRhYmxlRGljdGlvbmFyeaN4eiRcTlNEaWN0aW9uYXJ50iAh
    fH1XQVhBc3NldKJ8JNIgIX+AXkhVQ29tZm9ydFNvdW5kooEkXkhVQ29tZm9ydFNvdW5k
    AAgAEQAaACQAKQAyADcASQBMAFEAUwB+AIQAjwCoAK8AxwDfAPgA+gD8AP4BAAECAQcB
    DgEWASIBJAEmASgBrgGzAb4BxwHNAdAB2QHuAfYCAgIMAhoCKAI/Ak4CWQJlAmcCaQJr
    Am0CbwJwAnICdAJ1AqACzALTAtsC5gL4AvoC/AL+AwADAgMEAwYDCAMKAwwDDgMQAxID
    FAMWAygDKgMsAy4DMAMyAzQDNgM4AzoDPAM+A0ADQgNEA0YDSANaA2UDawN6A5IDqgPF
    A9MD6gP0A/4EEQQfBCwEPwREBEsEpASqBK4ErwURBRYFLQUyBTcFTQVRBV4FYwVrBW4F
    cwWCBYUAAAAAAAACAQAAAAAAAACCAAAAAAAAAAAAAAAAAAAFlA==</string>
   <key>relativeVolume</key>
     <real>0.092183433473110199</real>
   <key>PayloadType</key>
   <string>com.apple.ComfortSounds</string>
   <key>PayloadIdentifier</key>
     <string>com.apple.ComfortSounds.5D3D07C1-B9A8-49F2-A6C5-01E21864BB81</string>
   <key>PayloadUUID</key>
     <string>CE3249A8-51D7-4B4F-A77C-8F85B1C13330</string>
   <key>PayloadVersion</key>
   <integer>1</integer>
  </dict>
 </array>
 <key>PayloadDescription</key>
 <string>Enable Comfort Sounds</string>
 <key>PayloadDisplayName</key>
 <string>Comfort Sound Settings</string>
 <key>PayloadIdentifier</key>
 <string>com.apple.ComfortSounds</string>
 <key>PayloadOrganization</key>
 <string>TEST</string>
 <key>PayloadRemovalDisallowed</key>
 <true/>
 <key>PayloadScope</key>
 <string>System</string>
 <key>PayloadType</key>
 <string>Configuration</string>
 <key>PayloadUUID</key>
 <string>04c17696-b0c4-46e6-9261-ea9f5c4bd643</string>
 <key>PayloadVersion</key>
 <integer>1</integer>
</dict>
</plist>