Improve macOS defaults

This commit is contained in:
Billy-George Price-Sprackland
2026-05-16 23:34:09 +01:00
parent 482148b900
commit c37c58cb78
2 changed files with 58 additions and 9 deletions
Vendored
+35 -9
View File
@@ -31,6 +31,28 @@ else
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
fi fi
set_symbolic_hotkey() {
local id="$1"
local enabled="$2"
local key_char="$3"
local key_code="$4"
local modifiers="$5"
local plist="${HOME}/Library/Preferences/com.apple.symbolichotkeys.plist"
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add "${id}" "<dict><key>enabled</key><${enabled}/><key>value</key><dict><key>parameters</key><array><integer>${key_char}</integer><integer>${key_code}</integer><integer>${modifiers}</integer></array><key>type</key><string>standard</string></dict></dict>"
# Keep the on-disk plist honest even when cfprefsd has a stale cached value.
/usr/libexec/PlistBuddy -c "Set :AppleSymbolicHotKeys:${id}:enabled ${enabled}" "${plist}" >/dev/null 2>&1 || true
}
refresh_symbolic_hotkeys() {
defaults read com.apple.symbolichotkeys AppleSymbolicHotKeys >/dev/null 2>&1 || true
if [[ -x /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings ]]; then
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u >/dev/null 2>&1 || true
fi
}
############################################################################### ###############################################################################
# General UI/UX # # General UI/UX #
############################################################################### ###############################################################################
@@ -59,6 +81,7 @@ defaults write com.apple.AppleMultitouchTrackpad ActuationStrength -int 0
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true
# Use the bottom-right trackpad corner for secondary click.
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2 defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2
defaults write com.apple.AppleMultitouchTrackpad TrackpadCornerSecondaryClick -int 2 defaults write com.apple.AppleMultitouchTrackpad TrackpadCornerSecondaryClick -int 2
@@ -81,16 +104,18 @@ defaults write com.apple.screencapture disable-shadow -bool true
# Keyboard Shortcuts # # Keyboard Shortcuts #
############################################################################### ###############################################################################
# Configure screenshot shortcuts # Disable screenshot shortcuts.
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 28 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>51</integer><integer>20</integer><integer>1179648</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 28 false 51 20 1179648 # Save picture of screen as a file
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 29 "<dict><key>enabled</key><true/><key>value</key><dict><key>parameters</key><array><integer>51</integer><integer>20</integer><integer>1441792</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 29 false 51 20 1441792 # Copy picture of screen to clipboard
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 30 "<dict><key>enabled</key><true/><key>value</key><dict><key>parameters</key><array><integer>52</integer><integer>21</integer><integer>1179648</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 30 false 52 21 1179648 # Save picture of selected area as a file
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 31 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>52</integer><integer>21</integer><integer>1441792</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 31 false 52 21 1441792 # Copy picture of selected area to clipboard
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 184 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>53</integer><integer>23</integer><integer>1179648</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 184 false 53 23 1179648 # Screenshot and recording options
# Disable Spotlight shortcuts # Disable Spotlight and Show Apps shortcuts.
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 64 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>32</integer><integer>49</integer><integer>1048576</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 64 false 32 49 1048576 # Show Spotlight search
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 65 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>32</integer><integer>49</integer><integer>1572864</integer></array><key>type</key><string>standard</string></dict></dict>" set_symbolic_hotkey 65 false 32 49 1572864 # Show Finder search window
set_symbolic_hotkey 160 false 65535 65535 0 # Show Apps
refresh_symbolic_hotkeys
############################################################################### ###############################################################################
# Finder # # Finder #
@@ -124,6 +149,7 @@ defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.dock tilesize -int 30 defaults write com.apple.dock tilesize -int 30
defaults write com.apple.dock expose-animation-duration -float 0.15 defaults write com.apple.dock expose-animation-duration -float 0.15
defaults write com.apple.dock showhidden -bool true defaults write com.apple.dock showhidden -bool true
defaults write com.apple.dock show-recents -bool false
defaults write com.apple.universalaccess reduceTransparency -bool true defaults write com.apple.universalaccess reduceTransparency -bool true
defaults write com.apple.dock wvous-br-corner -int 2 defaults write com.apple.dock wvous-br-corner -int 2
+23
View File
@@ -2,4 +2,27 @@
My configuration. Minimalist, but helps save a few thousand keystrokes a day. I use macOS, so I can only guarantee they'll work on a Mac, but I use some of these dotfiles on various linux servers, and they seem to be pretty flexible. My configuration. Minimalist, but helps save a few thousand keystrokes a day. I use macOS, so I can only guarantee they'll work on a Mac, but I use some of these dotfiles on various linux servers, and they seem to be pretty flexible.
## macOS settings
Run `.osx` to apply macOS defaults:
```sh
./.osx
```
Use `--no-restart` while iterating:
```sh
./.osx --no-restart
```
The script configures:
- Bottom-right trackpad corner as secondary click.
- Screenshot output to `~/Downloads`.
- Screenshot keyboard shortcuts disabled.
- Spotlight and Show Apps keyboard shortcuts disabled.
- Dock recent apps disabled.
- Dock hot corners, Finder defaults, Safari developer settings, and other UI preferences.
Some settings are cached by macOS services. If System Settings still shows stale shortcut checkbox state after running the script, log out and back in.