fix(osx): Hibernation aliases now work correctly

This commit is contained in:
2019-12-16 14:24:28 +00:00
parent bb4294e272
commit e97ab272ec

View File

@@ -29,13 +29,41 @@ if [[ "$(uname)" == "Darwin" ]]; then
killall Finder "/System/Library/CoreServices/Finder.app"
}
#
# Power management
alias pm-hibernate="sudo pmset -a hibernatemode 25"
alias pm-safesleep="sudo pmset -a hibernatemode 3"
alias pm-sleep="sudo pmset -a hibernatemode 0"
#
hibernate() {
# Set all relevant power management settings to force the machine to save a
# sleep image and immediately enter "standby" along with FileVault destroying
# disk decryption keys.
pm-hibernate() {
sudo pmset -a hibernatemode 25
sudo pmset -a standby 1
sudo pmset -a standbydelayhigh 0
sudo pmset -a standbydelaylow 0
sudo pmset -a autopoweroffdelay 0
sudo pmset -a destroyfvkeyonstandby 1
}
# Restore all settings modified by pm-hibernate to their defaults, effectively
# restoring default sleep behavior for macOS laptops.
pm-safesleep() {
sudo pmset -a hibernatemode 3
sudo pmset -a standbydelayhigh 86400
sudo pmset -a standbydelaylow 0
sudo pmset -a autopoweroffdelay 28800
sudo pmset -a destroyfvkeyonstandby 0
}
# Trigger hibernation now.
hibernate() {
pm-hibernate
sudo pmset sleepnow
}
# Trigger a safe-sleep now.
safesleep() {
pm-safesleep
sudo pmset sleepnow
}
fi