Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #***************************************************************************
- #*** nosleep - prevent laptop from sleeping when lid is closed
- #***************************************************************************
- #***** set some defaults *****
- BATTERY_SLEEP=5 # in minutes
- DEF_WAKE_LEN=5 # in minutes
- #***** determine timeout value *****
- timeout_len=${1:-$DEF_WAKE_LEN}
- function prevent_sleep() {
- echo
- echo -n "Preventing sleep for $timeout_len minute(s); press <enter> to continue..."
- sudo pmset -b disablesleep 1
- sudo pmset -b sleep 0
- }
- function enable_sleep() {
- # $1: <enter> = 0, timeout = 1, Ctrl-C = undef
- #----- insert a newline for timeout or Ctrl-C -----
- if [[ ${1:-1} -eq 1 ]]; then echo; fi
- echo "Restoring previous battery sleep setting: $BATTERY_SLEEP"
- sudo pmset -b disablesleep 0
- sudo pmset -b sleep $BATTERY_SLEEP
- #----- sleep on timeout only -----
- # if [[ ${1:--1} -eq 1 ]]; then sudo pmset sleepnow; fi
- exit
- }
- #***** prevent it from sleeping *****
- prevent_sleep
- #***** trap Ctrl-C *****
- trap enable_sleep INT
- #***** wait for an enter *****
- read -t $(($timeout_len*60))
- rc=$?
- #***** re-enable normal sleep *****
- enable_sleep $rc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement