summaryrefslogtreecommitdiff
path: root/src/notify-upower.sh
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2012-07-11 15:06:04 +0100
committerRichard Hughes <richard@hughsie.com>2012-07-11 18:11:39 +0100
commit44189f8129edff56668cad6846579adc0e64f8f3 (patch)
treecd59904458b38f983769ddcf64837eeb24422219 /src/notify-upower.sh
parent7bad068a2d9fbbd509d0a53bcf6c2ffde6a4ef77 (diff)
Use systemd for suspend and hibernate
When running under systemd, call into systemd for suspend and hibernate instead of pm-utils. To capture resume events, install a small script that gets executed by systemd after resume and sends a dbus signal back to upower. To make this work, the upower backends gain a new signal, ::resuming, that they can optionally emit to signal that a resume happened. Backends opt in to this by returning TRUE from up_backend_emits_resuming(). In this case, upower doesn't assume the sleep command to block until resume, but instead waits for the ::resuming signal from the backend. The only backend that uses this mechanism is the linux backend when built with systemd support. Signed-off-by: Richard Hughes <richard@hughsie.com>
Diffstat (limited to 'src/notify-upower.sh')
-rwxr-xr-xsrc/notify-upower.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/notify-upower.sh b/src/notify-upower.sh
new file mode 100755
index 0000000..d88ae5e
--- /dev/null
+++ b/src/notify-upower.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+[ "$1" = "post" ] && exec /usr/bin/dbus-send \
+ --system --type=signal \
+ --dest=org.freedesktop.UPower \
+ /org/freedesktop/UPower \
+ org.freedesktop.UPower.Resuming