On Feb 13, 2009, at 3:30 PM, Chunk 1978 wrote:
is this possible? it seems that programatically changing com.apple.desktop.plist (Background > Default > Change) from TimeInterval to Never will not override the settings in System Preferences. i though applescript could be an option but it seems that using an applescript to accomplish this would have to open the system preferences window. it's only ideal if it's done as a background process.
You want to target System Events rather than System Preferences with your AppleScript.
Contrary to I. Savant, I don't think going through NSUserDefaults or CFPreferences will work. It still won't inform the necessary processes of the change in an active manner.
Take a look at the LoginItemsAE sample code. <http://developer.apple.com/samplecode/LoginItemsAE/ >
Obviously, you're not working with Login Items, but it demonstrates the technique of sending Apple Events to System Events. Also, modifying the user's login items has some conceptual similarities to what you're trying to do. You might be tempted to modify the list of login items by manipulating the relevant .plist file, or by using NSUserDefaults or CFPreferences, but that's not appropriate. The main failing is that, if the user actually has the Login Items tab of the Accounts pane of System Preferences open, changes you make to the preferences won't be reflected there. Furthermore, the pane may at any time re-save what it thinks is the current state of the list, obliterating the change you attempted to make behind its back.
(Ironically, the new shiny way to manipulate Login Items is the LSSharedFileList API, not this sample code. That API is currently only documented in <LaunchServices/LSSharedFileList.h>.)
Cheers, Ken _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com