defaults (software)

defaults is a command line utility that manipulates plist files. defaults is present in the OS X and GNUstep operating systems, and first appeared in the NeXTSTEP operating system upon which both aforementioned systems are based. The system stores each user's preferences set in a .plist file for each program stored at ~/Library/Preferences for user-specific preferences, and /Library/Preferences/ for global preferences. defaults writes to or reads from these plist files depending on the domain given.

A great advantage of the defaults system, which differentiates it from other systems, is its ability to store data in almost any format imaginable: integer, character string, floating point, binary data, dates, so-called dictionaries, or arrays of the same.

Previous versions also offered the opportunity of direct disk access.

Usage

Common uses of defaults:

$ defaults read DOMAIN # gets all
$ defaults read DOMAIN PROPERTY_NAME # gets
$ defaults write DOMAIN PROPERTY_NAME $VALUE # sets
$ defaults delete DOMAIN PROPERTY_NAME # resets a property
$ defaults delete DOMAIN # resets preferences

DOMAIN should be replaced by the plist file sans extension ('.plist'). plist files are named with reverse domain name notation. For example:

$ defaults read com.apple.iTunes # prints all iTunes preference values

plist files store keys and values. The PROPERTY_NAME key is the name of the property to modify. For example, to remove the search field from Safari's address bar:

$ defaults write com.apple.Safari AddressBarIncludesGoogle 0

or

$ defaults write com.apple.Safari AddressBarIncludesGoogle -bool NO # case-sensitive!

Replacing 0 with 1 or NO with YES or FALSE with TRUE returns the search bar to normal.

Preferences can at times corrupt applications. To reset Address Book's preferences, you would either remove the file ~/Library/Preferences/com.apple.AddressBook.plist or issue the command:

$ defaults delete com.apple.AddressBook

Settings

Some example settings configurable with defaults.

DomainValueOSX VersionLegal ValuesDefault Values
NSGlobalDomainAppleAquaColorVariant10.81, 61
NSGlobalDomainAppleHighlightColor10.83 floats range 0-1.0"0.780400 0.815700 0.858800"
NSGlobalDomainAppleShowScrollBars10.8Automatic, WhenScrolling, AlwaysAutomatic
NSGlobalDomainNSQuitAlwaysKeepsWindows10.8boolfalse
NSGlobalDomainNSAutomaticWindowAnimationsEnabled10.8booltrue
NSGlobalDomainNSNavPanelExpandedStateForSaveMode10.8boolfalse
NSGlobalDomainNSWindowResizeTime10.8float:time in seconds.2

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.