diff --git a/osx b/osx index f2d074cc85..bdd74487b2 100755 --- a/osx +++ b/osx @@ -1,21 +1,5 @@ -#!/bin/bash - -# Via https://raw.github.com/mathiasbynens/dotfiles/master/.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 false +# Gratuitously stolen from @mathiasbynens +# https://github.com/mathiasbynens/dotfiles/blob/master/.osx # Disable menu bar transparency defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false @@ -27,12 +11,6 @@ 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 - -# Show all filename extensions in Finder -defaults write NSGlobalDomain AppleShowAllExtensions -bool true - # Expand save panel by default defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true @@ -42,20 +20,34 @@ 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 +# 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 -# Enable highlight hover effect for the grid view of a stack (Dock) -defaults write com.apple.dock mouse-over-hilte-stack -bool true +# Disable opening and closing window animations +defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false -# Enable spring loading for all Dock items -defaults write enable-spring-load-actions-on-all-items -bool true +# Increase window resize speed for Cocoa applications +defaults write NSGlobalDomain NSWindowResizeTime -float 0.001 -# Show indicator lights for open applications in the Dock -defaults write com.apple.dock show-process-indicators -bool true +# Disable Resume system-wide +defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false -# Don’t animate opening applications from the Dock -defaults write com.apple.dock launchanim -bool false +# # Disable the “reopen windows when logging back in” option +# # This works, although the checkbox will still appear to be checked, +# # and the command needs to be entered again for every restart. +# defaults write com.apple.loginwindow TALLogoutSavesState -bool false +# defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false + +# 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 + +# 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 # Disable press-and-hold for keys in favor of key repeat defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false @@ -66,11 +58,35 @@ defaults write NSGlobalDomain KeyRepeat -int 0 # Disable auto-correct defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false -# Disable window animations -defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false +# Enable tap to click (Trackpad) 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 AirDrop over Ethernet and on unsupported Macs running Lion -defaults write com.apple.NetworkBrowser BrowseAllInterfaces -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 +# defaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1 +# defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -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 + +# 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 + +# Allow text selection in Quick Look +defaults write com.apple.finder QLEnableTextSelection -bool true # Disable disk image verification defaults write com.apple.frameworks.diskimages skip-verify -bool true @@ -80,13 +96,11 @@ 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 @@ -96,22 +110,69 @@ 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 false +# 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 AirDrop over Ethernet and on unsupported Macs running Lion +defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true -# Enable tap to click (Trackpad) -defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true +# Show the ~/Library folder +chflags nohidden ~/Library -# 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 +# # Hot corners +# # Top left screen corner → Mission Control +# defaults write com.apple.dock wvous-tl-corner -int 2 +# defaults write com.apple.dock wvous-tl-modifier -int 0 +# # Top right screen corner → Desktop +# defaults write com.apple.dock wvous-tr-corner -int 4 +# defaults write com.apple.dock wvous-tr-modifier -int 0 +# # Bottom left screen corner → Start screen saver +# defaults write com.apple.dock wvous-bl-corner -int 5 +# defaults write com.apple.dock wvous-bl-modifier -int 0 + +# 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 + +# Remove the auto-hiding Dock delay +defaults write com.apple.Dock autohide-delay -float 0 + +# Remove the animation when hiding/showing the Dock (actually, make it fast. If you want to remove, use 0) +defaults write com.apple.dock autohide-time-modifier -float 0.25 + +# 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 + +# Add a spacer to the left side of the Dock (where the applications are) +#defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}' +# Add a spacer to the right side of the Dock (where the Trash is) +#defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}' + +# Disable shadow in screenshots +defaults write com.apple.screencapture disable-shadow -bool true # Disable Safari’s thumbnail cache for History and Top Sites defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2 @@ -119,40 +180,62 @@ 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 "()" +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 + +# Enable the debug menu in Address Book +defaults write com.apple.addressbook ABShowDebugMenu -bool true + +# Enable the debug menu in iCal +defaults write com.apple.iCal IncludeDebugMenu -bool true # Only use UTF-8 in Terminal.app defaults write com.apple.terminal StringEncodings -array 4 +# Enable “focus follows mouse” for Terminal.app and all X11 apps +# This means you can hover over a window and start typing in it without clicking first +#defaults write com.apple.terminal FocusFollowsMouse -bool true +#defaults write org.x.X11 wm_ffm -bool true + # 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 -# Disable Resume system-wide -# defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false +# Copy email addresses as `foo@example.com` instead of `Foo Bar ` in Mail.app +defaults write com.apple.mail AddressesIncludeNameOnPasteboard -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 +[ -e ~/Library/Application\ Support/Dock/*.db ] && rm ~/Library/Application\ Support/Dock/*.db -# Show the ~/Library folder -chflags nohidden ~/Library +# Prevent Time Machine from prompting to use new hard drives as backup volume +defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true # Disable local Time Machine backups # hash tmutil &> /dev/null && sudo tmutil disablelocal -# Remove Dropbox’s green checkmark icons in Finder.app -#file=/Applications/Dropbox.app/Contents/Resources/check.icns -#[ -e "$file" ] && mv -f "$file" "$file.bak" -#unset file +# # 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 # Kill affected applications +for app in Finder Dock Mail Safari iTunes iCal Address\ Book SystemUIServer; do killall "$app" > /dev/null 2>&1; done +echo "OSX Hacks Done. Note that some of these changes require a logout/restart to take effect."