|
|
|
#!/usr/bin/env bash
|
|
|
|
# vim:ts=4:sts=4:sw=4:et
|
|
|
|
#
|
|
|
|
# Author: Hari Sekhon
|
|
|
|
# Date: 2020-03-01 21:01:50 +0000 (Sun, 01 Mar 2020)
|
|
|
|
#
|
|
|
|
# https://github.com/harisekhon/bash-tools
|
|
|
|
#
|
|
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
|
|
#
|
|
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
|
|
|
|
#
|
|
|
|
# https://www.linkedin.com/in/harisekhon
|
|
|
|
#
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
[ -n "${DEBUG:-}" ] && set -x
|
|
|
|
|
|
|
|
# require password immediately after sleep / screen saver
|
|
|
|
defaults write com.apple.screensaver askForPassword -int 1
|
|
|
|
defaults write com.apple.screensaver askForPasswordDelay -int 0
|
|
|
|
|
|
|
|
# auto-restart after a system freeze
|
|
|
|
#sudo systemsetup -setrestartfreeze on
|
|
|
|
|
|
|
|
# Check for software updates daily, not just once per week
|
|
|
|
#defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
|
|
|
|
|
|
|
|
# Disable local Time Machine snapshots
|
|
|
|
#sudo tmutil disablelocal
|
|
|
|
|
|
|
|
# Trackpad: enable tap to click for this user and for the login screen
|
|
|
|
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
|
|
|
|
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
|
|
|
|
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
|
|
|
|
|
|
|
|
# Enable “natural” (Lion-style) scrolling
|
|
|
|
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool true
|
|
|
|
|
|
|
|
# Increase sound quality for Bluetooth headphones/headsets
|
|
|
|
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
|
|
|
|
|
|
|
|
# Avoid creating .DS_Store files on network volumes
|
|
|
|
defaults write com.apple.desktopservices DSDontWriteNetworkStores -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
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
# Finder:
|
|
|
|
|
|
|
|
# TODO: set Finder to columns that are auto-wide
|
|
|
|
|
|
|
|
# set Downloads as the default location for new Finder windows
|
|
|
|
defaults write com.apple.finder NewWindowTarget -string "PfDe"
|
|
|
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Downloads/"
|
|
|
|
|
|
|
|
# allow copying from Quick Look preview
|
|
|
|
defaults write com.apple.finder QLEnableTextSelection -bool true
|
|
|
|
|
|
|
|
# show the ~/Library folder
|
|
|
|
#chflags nohidden ~/Library
|
|
|
|
|
|
|
|
# Empty Trash securely by default
|
|
|
|
defaults write com.apple.finder EmptyTrashSecurely -bool true
|
|
|
|
|
|
|
|
# disable the warning before emptying the Trash
|
|
|
|
#defaults write com.apple.finder WarnOnEmptyTrash -bool false
|
|
|
|
|
|
|
|
# show hidden files by default
|
|
|
|
defaults write com.apple.finder AppleShowAllFiles -bool true
|
|
|
|
|
|
|
|
# show all filename extensions
|
|
|
|
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
|
|
|
|
|
|
|
|
# show path bar
|
|
|
|
defaults write com.apple.finder ShowPathbar -bool true
|
|
|
|
|
|
|
|
# display full POSIX path as Finder window title
|
|
|
|
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
|
|
|
|
|
|
|
|
# When performing a search, search the current folder by default
|
|
|
|
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
|
|
|
|
|
|
|
|
# disable the warning when changing a file extension
|
|
|
|
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
|
|
|
|
|
|
|
|
# Show icons for hard drives, servers, and removable media on the desktop
|
|
|
|
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
|
|
|
|
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
|
|
|
|
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
|
|
|
|
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
|
|
|
|
|
|
|
|
#killall Finder
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
# Preview:
|
|
|
|
# set to false to not re-open previous documents from last Preview session
|
|
|
|
defaults write com.apple.Preview NSQuitAlwaysKeepsWindows -bool true
|
|
|
|
|
|
|
|
#killall Preview
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
# Screenshots:
|
|
|
|
|
|
|
|
# save screenshots to Desktop
|
|
|
|
defaults write com.apple.screencapture location -string "${HOME}/Desktop"
|
|
|
|
|
|
|
|
# save in PNG format (default, other options: BMP, GIF, JPG, PDF, TIFF)
|
|
|
|
defaults write com.apple.screencapture type -string "png"
|
|
|
|
#defaults write com.apple.screencapture type JPG
|
|
|
|
|
|
|
|
# default screenshot file name
|
|
|
|
# defaults write com.apple.screencapture name "myScreenShot"
|
|
|
|
|
|
|
|
# disable drop shadows in screenshots
|
|
|
|
defaults write com.apple.screencapture disable-shadow -bool true
|
|
|
|
|
|
|
|
# killall SystemUIServer
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
# Dock:
|
|
|
|
|
|
|
|
# hide non-active apps
|
|
|
|
#defaults write com.apple.dock static-only -bool TRUE
|
|
|
|
|
|
|
|
# stop apps saving to iCloud by default
|
|
|
|
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
|
|
|
|
|
|
|
|
# pop-up instantly
|
|
|
|
defaults write com.apple.dock autohide-delay -float 0 # secs
|
|
|
|
# disappear instantly
|
|
|
|
defaults write com.apple.dock autohide-time-modifier -float 0
|
|
|
|
|
|
|
|
# revert to default delay
|
|
|
|
#defaults delete com.apple.dock autohide-delay
|
|
|
|
#defaults write com.apple.dock autohide-time-modifier
|
|
|
|
|
|
|
|
# enable Dashboard with widgets
|
|
|
|
#defaults write com.apple.dashboard mcx-disabled -boolean false
|
|
|
|
|
|
|
|
#killall Dock
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
|
|
|
|
# Enable AirDrop over Ethernet and on unsupported Macs running Lion
|
|
|
|
#defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true
|
|
|
|
|
|
|
|
# Change indexing order and disable some search results
|
|
|
|
#defaults write com.apple.spotlight orderedItems -array \
|
|
|
|
# '{"enabled" = 1;"name" = "APPLICATIONS";}' \
|
|
|
|
# '{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "DIRECTORIES";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "PDF";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "FONTS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "DOCUMENTS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MESSAGES";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "CONTACT";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "EVENT_TODO";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "IMAGES";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "BOOKMARKS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MUSIC";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MOVIES";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "PRESENTATIONS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "SPREADSHEETS";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "SOURCE";}' \
|
|
|
|
# '{"enabled" = 1;"name" = "MENU_DEFINITION";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MENU_OTHER";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MENU_CONVERSION";}' \
|
|
|
|
# '{"enabled" = 1;"name" = "MENU_EXPRESSION";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MENU_WEBSEARCH";}' \
|
|
|
|
# '{"enabled" = 0;"name" = "MENU_SPOTLIGHT_SUGGESTIONS";}'
|
|
|
|
|
|
|
|
echo "Some settings won't take effect until you restart Finder. When you're ready, run:
|
|
|
|
|
|
|
|
killall Finder
|
|
|
|
killall Dock
|
|
|
|
killall SystemUIServer
|
|
|
|
"
|