blob: 30a09319515f10c637a43afc5c51d2226d67ba89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/env sh
set -eu
krueger() {
for freddy in "$@"; do
case "$freddy" in
on)
if [ "$(uname -s)" = "Linux" ]; then
# disable sleeping by almost all means
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
else
# disable sleeping by almost all means
sudo pmset -a disablesleep 1
fi
return
;;
off)
if [ "$(uname -s)" = "Linux" ]; then
# enable sleeping by default
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
else
# enable sleeping by default
sudo pmset -a disablesleep 0
fi
return
;;
status)
if [ "$(uname -s)" = "Linux" ]; then
# check if sleeping is disabled
if [ "$(sudo systemctl is-enabled sleep.target)" = "masked" ]; then
echo 'enabled'
else
echo 'disabled'
fi
else
# check if sleeping is disabled
sudo pmset -g | grep -E "SleepDisabled|disablesleep"
fi
return
esac
done
printf 'Usage: %s on|off|status\n\n' "$0" >&2
printf 'Example:\n'
printf ' krueger on \x1b[2m# machine cannot sleep\x1b[0m\n'
printf ' krueger off \x1b[2m# machine can sleep\x1b[0m\n'
printf ' krueger status \x1b[2m# check krueger state\x1b[0m\n'
return 1
}
krueger "$@"
|