From 4e35b0369e7ce3cf1bb49f60a838be75d7c2678e Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Sat, 30 Mar 2013 12:08:08 +0900 Subject: [PATCH] systemd: add support for hibernate and suspend. --- ChangeLog | 1 + NEWS | 1 + configure.ac | 23 ++++++++++++++--------- data/units/e18.service | 6 +++--- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2b19cb228..581fc383d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2013-03-28 Cedric Bail * added support for systemd user session. + * added support for systemd hibernate and suspend. 2013-03-11 Mike Blumenkrantz diff --git a/NEWS b/NEWS index c5d08c742..0814c9d2b 100644 --- a/NEWS +++ b/NEWS @@ -46,6 +46,7 @@ Additions: * added option for preventing all keyboard layout changes * added option for remembering filemanager windows globally * Added support for systemd user session + * Added support for systemd hibernate and suspend Changes: Modules: diff --git a/configure.ac b/configure.ac index 34e68dd29..1c1795992 100644 --- a/configure.ac +++ b/configure.ac @@ -905,16 +905,21 @@ case "$host_os" in AC_SUBST(HIBERNATE) ;; *) - AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH]) - if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then - SUSPEND="/etc/acpi/sleep.sh force" - AC_MSG_NOTICE([use suspend method: $SUSPEND]) - fi + if test "x{have_systemd_user_session}" = "xyes"; then + SUSPEND="/usr/bin/systemctl suspend" + HIBERNATE="/usr/bin/systemctl hibernate" + else + AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH]) + if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then + SUSPEND="/etc/acpi/sleep.sh force" + AC_MSG_NOTICE([use suspend method: $SUSPEND]) + fi - AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH]) - if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then - HIBERNATE="/etc/acpi/hibernate.sh force" - AC_MSG_NOTICE([use hibernate method: $HIBERNATE]) + AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH]) + if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then + HIBERNATE="/etc/acpi/hibernate.sh force" + AC_MSG_NOTICE([use hibernate method: $HIBERNATE]) + fi fi ;; esac diff --git a/data/units/e18.service b/data/units/e18.service index 79feb4062..6e651fc18 100644 --- a/data/units/e18.service +++ b/data/units/e18.service @@ -1,5 +1,5 @@ [Unit] -Description=Enlightenment 17 service +Description=Enlightenment 18 service Before=end.target After=xorg.target Requires=xorg.target @@ -19,8 +19,8 @@ RestartSec=2 StartLimitInterval=30 StartLimitBurst=7 KillMode=process -WatchdogSec=1 -TimeoutSec=1 +WatchdogSec=10 +TimeoutSec=5 NotifyAccess=all [Install]