• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Programatically Uncheck "Change Picture" In Desktop Settings?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Programatically Uncheck "Change Picture" In Desktop Settings?


  • Subject: Re: Programatically Uncheck "Change Picture" In Desktop Settings?
  • From: Ken Thomases <email@hidden>
  • Date: Fri, 13 Feb 2009 16:34:29 -0600

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 (email@hidden)

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Programatically Uncheck "Change Picture" In Desktop Settings?
      • From: "I. Savant" <email@hidden>
    • Re: Programatically Uncheck "Change Picture" In Desktop Settings?
      • From: Chunk 1978 <email@hidden>
References: 
 >Programatically Uncheck "Change Picture" In Desktop Settings? (From: Chunk 1978 <email@hidden>)

  • Prev by Date: Re: NSTableView crash when selected.
  • Next by Date: Re: NSRunLoop / CFRunLoop
  • Previous by thread: Re: Programatically Uncheck "Change Picture" In Desktop Settings?
  • Next by thread: Re: Programatically Uncheck "Change Picture" In Desktop Settings?
  • Index(es):
    • Date
    • Thread