8ta4 / plist

Other
21 stars 1 forks source link

Request to monitor plist files outside of the home directory #24

Open kalip2 opened 10 months ago

kalip2 commented 10 months ago

Hello,

I really like your app, it's been really helpful in managing plist files when I make changes using System Preferences. But there's a small issue – it doesn't watch all the plist files.

You see, on macOS, there are some settings stored in the home directory (e.g. ~/Library), which the app handles perfectly. However, there are other settings that live outside the home directory and need root access (/var/root/Library/Preferences/) to be monitored.

So, I was wondering if it's possible to expand the app's abilities. It would be great if it could keep an eye on these external plist files as well. This means that when I make changes to them, the app could generate the equivalent "plistbuddy" commands just like it does for the ones inside the home directory.

This change would be a real time-saver for users like me who often need to adjust system-wide settings. Your app is already awesome, and adding this feature would make it even more useful.

Thanks for considering my suggestion, and keep up the great work!

  ~ ❯ sudo su root
sh-3.2# cd /var/root/Library/Preferences/
sh-3.2# ls
.GlobalPreferences.plist
.GlobalPreferences_m.plist
Adobe
AppSSODaemon.plist
ByHost
applessdstatistics.plist
com.apple.ASPCarryLog.plist
com.apple.AddressBook.plist
com.apple.AppleMultitouchMouse.plist
com.apple.AppleMultitouchTrackpad.plist
com.apple.BTServer.plist
com.apple.CloudKit.plist
com.apple.CoreBluetooth.cloud.plist
com.apple.CoreBrightness.plist
com.apple.CoreGraphics.plist
com.apple.CrashReporterSupportHelper.plist
com.apple.GEO.plist
com.apple.LaunchServices
com.apple.LaunchServices.QuarantineEventsV2
com.apple.MobileAsset.plist
com.apple.MobileSoftwareUpdate.plist
com.apple.SoftwareUpdate.plist
com.apple.TVScreenSaver.plist
com.apple.UserAccountUpdater.plist
com.apple.WirelessRadioManager.debug.plist
com.apple.airplay.plist
com.apple.awdd.persistent.plist
com.apple.bluetooth.plist
com.apple.cloudd.plist
com.apple.cmio.registerassistantservice.plist
com.apple.contextstored.plist
com.apple.coreaudio.careporting.audioreg.plist
com.apple.corecaptured.plist
com.apple.coreduetd.plist
com.apple.das.fairscheduling.plist
com.apple.dasd.datacollectiontasks.plist
com.apple.driver.AppleBluetoothMultitouch.mouse.plist
com.apple.driver.AppleBluetoothMultitouch.trackpad.plist
com.apple.driver.AppleHIDMouse.plist
com.apple.duetactivityscheduler.plist
com.apple.duetactivityscheduler.policydatacollection.plist
com.apple.duetactivityscheduler.trial.plist
com.apple.findmy.findmybeaconingd.plist
com.apple.gamepolicyd.plist
com.apple.icloud.findmydeviced.notbackedup.plist
com.apple.icloud.findmydeviced.plist
com.apple.icloud.searchpartyd.plist
com.apple.idleassetsd.plist
com.apple.mediaremote.plist
com.apple.mediaremoted.plist
com.apple.osanalytics.internal.plist
com.apple.osanalyticshelper.plist
com.apple.powerd.bdc.plist
com.apple.powerd.lowpowermode.state.plist
com.apple.powerui.notification.plist
com.apple.security.ctkd-db.plist
com.apple.siri.sirisuggestions.plist
com.apple.smartcharging.topoffprotection.plist
com.apple.symptomsd-diag.plist
com.apple.systempreferences.plist
com.apple.systemstats.microstackshot.plist
com.apple.tailspin.plist
com.apple.universalaccess.plist
com.apple.xpc.activity2.plist
memoryanalyticsd.plist
sharedfilelistd.plist
systemmigrationd.plist
8ta4 commented 10 months ago

You can check out the update here: https://github.com/8ta4/plist/commit/0b71269941d19cbd9776bbf8b679f3d5f30b718a.

The days of being limited to your own home are over. Thanks to your brilliant idea, sudo plist will let you stalk the plist girl next door. 😜

kalip2 commented 9 months ago

@8ta4

I'm trying to find the setting "Use Large Labels" for Apple Map. I've used both sudo plist and plist, but the related PlistBuddy Add/Delete command doesn't show up in Terminal when I toggle on/off "Use Large Labels". I took a guess at defaults read com.apple.Maps, but that seems to be deprecated in favor of a new path. I just don't know where that new path is?

8ta4 commented 9 months ago

Hunting for the plist for "Use Large Labels" in Apple Maps is like trying to find a city that went missing in the early days of Apple Maps.

I've been playing detective with fswatch, keeping an eye on any file system changes when I flip "Use Large Labels" on and off. Oddly enough, no changes are written to the file system. Apple Maps has some secret sauce for storing this preference that doesn't involve the file system changes. It's a bit of a head-scratcher, especially when you compare it to how other Apple Maps preferences are handled.

I asked on Reddit and updated the docs to say that not all settings can be tracked with it.