Defaults

Short description: Command-line utility

defaults is a command line utility that manipulates plist files. Introduced in 1998 OPENSTEP, defaults is found in the system's descendants macOS and GNUstep.[1][2]

The name "defaults" derives from OpenStep's name for user preferences, Defaults, or NSUserDefaults in Foundation Kit. Each application had its own defaults plist ("domain"), under ~/Defaults for the user configuration and /Defaults for the system configuration. The lookup system also supports a NSGlobalDomain.plist, where defaults written there will be seen by all applications.[2][3] In macOS, the Defaults part of the path is replaced by the more intuitive Library/Preferences. defaults accesses the plists based on the domain given.[2]

defaults is also able to read and write any plist specified with a path,[1] although Apple plans to phase out this utility in a future version.[2][4]

## Contents

* 1 Usage
* 1.1 Compound values
* 2 Settings
* 3 References
* 4 External links

## 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 name 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!

Using "1", "YES", or "TRUE" instead restores this to the default of including search.

Preferences can at times corrupt applications. To reset Address Book's preferences, either the file ~/Library/Preferences/com.apple.AddressBook.plist must be removed or the following command issued:

$ defaults delete com.apple.AddressBook

### Compound values

defaults prints values in the OpenStep format. It allows the VALUE to be arrays and dicts, as long as they conform to old-style plist syntax.[5]

## Settings

Some example settings configurable with defaults under macOS:

Globally-available defaults (works in NSGlobalDomain or application settings)  Key | OSX Version | Legal Values | Default Value

|
|
|

AppleAquaColorVariant | 10.8 | 1, 6 | 1
AppleHighlightColor | 10.8 | RGB, 3 floats range 0-1.0 | "0.780400 0.815700 0.858800"
AppleShowScrollBars[6] | 10.8 | Automatic, WhenScrolling, Always | Automatic
NSQuitAlwaysKeepsWindows[7] | 10.8 | bool | false
NSAutomaticWindowAnimationsEnabled[8] | 10.8 | bool | true
NSNavPanelExpandedStateForSaveMode[9] | 10.8 | bool | false
NSWindowResizeTime[8] | 10.8 | float:time in seconds | .2
CGFontDefaultAllowsFontSmoothing[10] | 10.14? | boolean |

SS64 documents a set of other keys that can be changed for each software (not the global domain) in macOS.[11] Other sites also document settings to be changed using defaults.[12] Apple does not publish a complete list of these "secret knobs", but their support site does occasionally provide defaults commands for user to change a certain setting, such as the creation of .DS Store.[13]

GNUstep documents its defaults more clearly, so that there is no such thing as a "hidden settings" community like there is for macOS.[3]

## References

1. ↑ 1.0 1.1 `defaults(1)` – Linux General Commands Manual
2. ↑ 2.0 2.1 2.2 2.3 `defaults(1)` – Darwin and macOS General Commands Manual
3. ↑ 3.0 3.1 "User Defaults Summary for GNUstep Libraries". http://www.gnustep.org/resources/documentation/User/Gui/DefaultsSummary.html.
4. ↑ "Unofficial macOS defaults man page". https://ss64.com/osx/defaults.html.
5. ↑ "macos - modifying a Plist from command line on Mac using Defaults". https://stackoverflow.com/questions/13740337/modifying-a-plist-from-command-line-on-mac-using-defaults.
6. ↑ grg (26 August 2013). "macos - Enabling Scroll Bars In Mountain Lion?". https://apple.stackexchange.com/a/100062/153976.
7. ↑ "Disable 'Resume' system-wide". 26 September 2012. https://www.defaults-write.com/disable-resume-system-wide/.
8. ↑ 8.0 8.1 "10 terminal commands to speed up macOS High Sierra on your Mac". 11 November 2017. https://www.defaults-write.com/speed-up-macos-high-sierra/.
9. ↑ Bynens, Mathias. "mathiasbynens/dotfiles: .macos" (in en). https://github.com/mathiasbynens/dotfiles/blob/master/.macos.
10. ↑ "Issue 858861: No subpixel antialiasing under macOS Mojave". https://bugs.chromium.org/p/chromium/issues/detail?id=858861.
11. ↑ "System preference settings for macOS - macOS - SS64.com". https://ss64.com/osx/syntax-defaults.html.
12. ↑ "Top 11 Terminal Command Tricks for Mac That You Should Know". 19 August 2019. https://www.guidingtech.com/top-terminal-command-tricks-mac-macos/.
13. ↑ "Adjust SMB browsing behavior in macOS High Sierra 10.13 and later" (in en). https://support.apple.com/en-us/HT208209. (type into a search engine to find more: site:support.apple.com "defaults write")

## External links

* NSUserDefaults documentation Apple Inc

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Defaults&oldid=709528"