customize 

Send to Kindle
home » snippets » os_x » customize



Customize

Disable startup sound / chime

sysctl limits

In /etc/sysctl.conf,

# sudo vim /etc/sysctl.conf
kern.maxproc=2048
kern.maxprocperuid=1024

One off (already launched processed inherit the old limits),

sudo sysctl -w kern.maxproc=2048
sudo sysctl -w kern.maxprocperuid=1024

Disable smooth scrolling

defaults write -g NSScrollAnimationEnabled -bool NO

Unhide ~/Library

chflags nohidden ~/Library

Show hidden files in Finder

defaults write com.apple.Finder AppleShowAllFiles YES

Change background

See http://www.macosxtips.co.uk/index_files/category-general.php and LoginWindow Customizations in Mac OS X | Krypted.com

Disable "Send diagnostics to Apple?" dialog.

Either run the "CrashReporterPrefs" app and set the type to "server", or

# From: http://hints.macworld.com/article.php?story=20091230100541242
defaults write com.apple.CrashReporter DialogType server

Disable restoring windows and apps (consolidated)

_read_defaults() {
    sudo -v
    local -r where=$1
    local -r what=$2
    echo "User   plist setting for $where $what"
    defaults read $where $what
    echo "System plist setting for $where $what"
    sudo defaults read $where $what
}

read_defaults() {
    local -r where=$1
    local -r what=$2
    if [[ "$where" != "NSGlobalDomain" && $where != "-g" && $where != "-globaldomain" ]]; then
        _read_defaults $where $what
    fi
    _read_defaults NSGlobalDomain $what
}

_write_defaults() {
    sudo -v
    local -r where=$1
    local -r what=$2
    shift 2
    echo "Writing: User   plist setting for $where $what: $@"
    defaults write $where $what "$@"
    echo "Writing: System plist setting for $where $what: $@"
    sudo defaults write $where $what "$@"
}

write_defaults() {
    local -r where=$1
    local -r what=$2
    shift 2
    read_defaults $where $what
    if [[ "$where" != "NSGlobalDomain" && $where != "-g" && $where != "-globaldomain" ]]; then
        _write_defaults $where $what "$@"
    fi
    _write_defaults NSGlobalDomain $what "$@"
}


# Disable restoring windows for all apps.
# Note that "-g", "-globaldomain" and "NSGlobalDomain"
# are interchangable.
read_defaults NSGlobalDomain NSQuitAlwaysKeepsWindows
write_defaults NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false


# Uncheck “reopen windows when logging back in” unchecked.
# Before 10.7.4, this was not sticky and you had to run
# reset it on every login.
read_defaults com.apple.loginwindow TALLogoutSavesState
write_defaults com.apple.loginwindow TALLogoutSavesState -bool false

# This one set stuff to ignore the the “reopen windows
# when logging back in” checkbox.
read_defaults com.apple.loginwindow LoginwindowLaunchesRelaunchApps
write_defaults com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

read_defaults NSGlobalDomain NSQuitAlwaysKeepsWindows
read_defaults com.apple.loginwindow TALLogoutSavesState
read_defaults com.apple.loginwindow LoginwindowLaunchesRelaunchApps


# See currently set login and logout hooks
read_defaults com.apple.loginwindow LoginHook
read_defaults com.apple.loginwindow LogoutHook

Disable Mac OS Lion’s “Restore windows” setting on an individual per-application basis

From: Disable Mac OS Lion’s “Restore windows” setting on an individual per-application basis

# Use something like
#
#     defaults write ‹application id› NSQuitAlwaysKeepsWindows -int 0
#
# e.g.
#
#     defaults write com.apple.installer NSQuitAlwaysKeepsWindows -int 0
defaults write com.googlecode.iterm2.plist NSQuitAlwaysKeepsWindows -bool false
defaults write com.apple.Preview NSQuitAlwaysKeepsWindows -bool false

An alternative is

chflags uimmutable "~/Library/Saved Application State"

# or

rm -r "~/Library/Saved Application State/*"
chmod -R a-w "~Library/Saved Application State"

Disable Resume on a per-application basis

From Disable Resume on a per-application basis

# defaults write ‹application id› ApplePersistenceIgnoreState YES
# defaults write com.apple.Safari ApplePersistenceIgnoreState YES

Also see the section lion-hacks at: https://github.com/zeekay/dot-zsh/blob/master/plugins/osx/plugin

Completely disable Resume

See Completely disable Resume

Configure screenshots

Show/Hide Admin users

# Show.
defaults write
/Library/Preferences/com.apple.loginwindow Hide500Users -bool NO
# Hide.
defaults write /Library/Preferences/com.apple.loginwindow Hide500Users -bool YES

Prevent OS X from indexing and creating Trashes, etc. on volumes

From: How to stop OS X from writing Spotlight and Trash files to memory cards and USB sticks? – my preferred answer

# Add this drive to Spotlight's exclude list.
# This entry will show up in System Preferences'
# Spotlight exclude list for this machine.
mdutil -i off /Volumes/yourUSBstick

# First switch to the volume.
cd /Volumes/yourUSBstick

# Delete existing stuff.
rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}

# Disable spotlight indexing. (Unlike the mdutil method,
# this will be honored even when mounted on a different
# Mac.)
touch .metadata_never_index

# Disable logging filesystem activity.
mkdir .fseventsd
touch .fseventsd/no_log

# Disable Trash folder.
touch .Trashes

"defaults" settings

From github.com: dotfiles/.osx

# Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3

# Enable subpixel font rendering on non-Apple LCDs
defaults write NSGlobalDomain AppleFontSmoothing -int 2

# Enable the 2D Dock
defaults write com.apple.dock no-glass -bool true

# Automatically hide and show the Dock
defaults write com.apple.dock autohide -bool true

# Make Dock icons of hidden applications translucent
defaults write com.apple.dock showhidden -bool true

# Enable iTunes track notifications in the Dock
defaults write com.apple.dock itunes-notifications -bool true

# Disable menu bar transparency
defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false

# Show remaining battery time; hide percentage
defaults write com.apple.menuextra.battery ShowPercent -string "NO"
defaults write com.apple.menuextra.battery ShowTime -string "YES"

# Always show scrollbars
defaults write NSGlobalDomain AppleShowScrollBars -string "Always"

# Allow quitting Finder via ⌘ + Q; doing so will also hide desktop icons
defaults write com.apple.finder QuitMenuItem -bool true

# Disable window animations and Get Info animations in Finder
defaults write com.apple.finder DisableAllAnimations -bool true

# Show all filename extensions in Finder
defaults write NSGlobalDomain AppleShowAllExtensions -bool true

# Show status bar in Finder
defaults write com.apple.finder ShowStatusBar -bool true

# Expand save panel by default
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true

# Expand print panel by default
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true

# Disable the “Are you sure you want to open this application?” dialog
defaults write com.apple.LaunchServices LSQuarantine -bool false

# Disable shadow in screenshots
defaults write com.apple.screencapture disable-shadow -bool true

# Enable highlight hover effect for the grid view of a stack (Dock)
defaults write com.apple.dock mouse-over-hilte-stack -bool true

# Enable spring loading for all Dock items
defaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true

# Show indicator lights for open applications in the Dock
defaults write com.apple.dock show-process-indicators -bool true

# Don’t animate opening applications from the Dock
defaults write com.apple.dock launchanim -bool false

# Display ASCII control characters using caret notation in standard text views
# Try e.g. `cd /tmp; unidecode "\x{0000}" > cc.txt; open -e cc.txt`
defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true

# Disable press-and-hold for keys in favor of key repeat
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

# Set a blazingly fast keyboard repeat rate
defaults write NSGlobalDomain KeyRepeat -int 0

# Disable auto-correct
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false

# Disable opening and closing window animations
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false

# Enable AirDrop over Ethernet and on unsupported Macs running Lion
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true

# Disable disk image verification
defaults write com.apple.frameworks.diskimages skip-verify -bool true
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true

# Automatically open a new Finder window when a volume is mounted
defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true
defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true
defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true

# Display full POSIX path as Finder window title
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true

# Increase window resize speed for Cocoa applications
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001

# Avoid creating .DS_Store files on network volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

# Disable the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

# Show item info below desktop icons
/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist

# Enable snap-to-grid for desktop icons
/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist

# Disable the warning before emptying the Trash
defaults write com.apple.finder WarnOnEmptyTrash -bool false

# Empty Trash securely by default
defaults write com.apple.finder EmptyTrashSecurely -bool true

# Require password immediately after sleep or screen saver begins
defaults write com.apple.screensaver askForPassword -int 1
defaults write com.apple.screensaver askForPasswordDelay -int 0

# Enable tap to click (Trackpad)
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true

# Map bottom right Trackpad corner to right-click
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true

# Disable Safari’s thumbnail cache for History and Top Sites
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2

# Enable Safari’s debug menu
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true

# Make Safari’s search banners default to Contains instead of Starts With
defaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false

# Remove useless icons from Safari’s bookmarks bar
defaults write com.apple.Safari ProxiesInBookmarksBar "()"

# Add a context menu item for showing the Web Inspector in web views
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

# Only use UTF-8 in Terminal.app
defaults write com.apple.terminal StringEncodings -array 4

# Disable the Ping sidebar in iTunes
defaults write com.apple.iTunes disablePingSidebar -bool true

# Disable all the other Ping stuff in iTunes
defaults write com.apple.iTunes disablePing -bool true

# Make ⌘ + F focus the search input in iTunes
defaults write com.apple.iTunes NSUserKeyEquivalents -dict-add "Target Search Field" "@F"

# Disable send and reply animations in Mail.app
defaults write com.apple.Mail DisableReplyAnimations -bool true
defaults write com.apple.Mail DisableSendAnimations -bool true

# Copy email addresses as `[email protected]` instead of `Foo Bar <[email protected]>` in Mail.app
defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false

# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

# Disable the “reopen windows when logging back in” option
# This works, although the checkbox will still appear to be checked.
defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

# Enable Dashboard dev mode (allows keeping widgets on the desktop)
defaults write com.apple.dashboard devmode -bool true

# Reset Launchpad
[ -e ~/Library/Application\ Support/Dock/*.db ] && rm ~/Library/Application\ Support/Dock/*.db

# Show the ~/Library folder
chflags nohidden ~/Library

# Disable local Time Machine backups
hash tmutil &> /dev/null && sudo tmutil disablelocal

# Remove Dropbox’s green checkmark icons in Finder
file=/Applications/Dropbox.app/Contents/Resources/check.icns
[ -e "$file" ] && mv -f "$file" "$file.bak"
unset file

# Fix for the ancient UTF-8 bug in QuickLook (http://mths.be/bbo)
# Commented out, as this is known to cause problems when saving files in Adobe Illustrator CS5 :(
#echo "0x08000100:0" > ~/.CFUserTextEncoding

# Kill affected applications
for app in Safari Finder Dock Mail SystemUIServer; do killall "$app" >/dev/null 2>&1; done