Add suspend-to-hibernate

This commit is contained in:
2017-10-04 12:26:16 +02:00
parent 9773a5318d
commit 46f37bf648
2 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
# Maintainer: Manuel Vögele <aur@manuel-voegele.de>
pkgname=suspend-to-hibernate
pkgver=1
pkgrel=1
arch=('any')
source=('suspend-to-hibernate.service')
md5sums=('SKIP')
package() {
mkdir -p "${pkgdir}/etc/systemd/system/"
cp "${srcdir}/suspend-to-hibernate.service" "${pkgdir}/etc/systemd/system/suspend-to-hibernate.service"
}

View File

@@ -0,0 +1,28 @@
[Unit]
Description=Delayed hibernation trigger
Documentation=https://bbs.archlinux.org/viewtopic.php?pid=1420279#p1420279
Documentation=https://wiki.archlinux.org/index.php/Power_management
Conflicts=hibernate.target hybrid-sleep.target
Before=sleep.target
StopWhenUnneeded=true
[Service]
Type=oneshot
RemainAfterExit=yes
Environment="WAKEALARM=/sys/class/rtc/rtc0/wakealarm"
Environment="SLEEPLENGTH=+30minute"
ExecStart=-/usr/bin/sh -c 'echo -n "alarm set for "; date +%%s -d$SLEEPLENGTH | tee $WAKEALARM'
ExecStop=-/usr/bin/sh -c '\
alarm=$(cat $WAKEALARM); \
now=$(date +%%s); \
if [ -z "$alarm" ] || [ "$now" -ge "$alarm" ]; then \
echo "hibernate triggered"; \
systemctl hibernate; \
else \
echo "normal wakeup"; \
fi; \
echo 0 > $WAKEALARM; \
'
[Install]
WantedBy=sleep.target