diff options
| author | William Brown <[email protected]> | 2012-11-21 09:15:29 +1030 | 
|---|---|---|
| committer | William Brown <[email protected]> | 2012-11-21 10:14:47 +1030 | 
| commit | 30eed18125a03a0bede7f5e560f8f031db70dcbe (patch) | |
| tree | aa39348306cc914825fa0f3c9da0781555329914 | |
| parent | c5c3b2a3d755e32a851bf7b3c7ef92a056b5bdef (diff) | |
| download | mate-power-manager-30eed18125a03a0bede7f5e560f8f031db70dcbe.tar.bz2 mate-power-manager-30eed18125a03a0bede7f5e560f8f031db70dcbe.tar.xz  | |
Adds a systemdinhibit configure flag
| -rw-r--r-- | configure.ac | 20 | ||||
| -rw-r--r-- | src/gpm-manager.c | 6 | 
2 files changed, 26 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 312f220..6e36106 100644 --- a/configure.ac +++ b/configure.ac @@ -270,6 +270,25 @@ AC_MSG_RESULT([$have_applets])  AM_CONDITIONAL([HAVE_APPLETS], [test $have_applets = yes])  dnl --------------------------------------------------------------------------- +dnl systemd inhibit +dnl --------------------------------------------------------------------------- + +AC_ARG_WITH(systemdinhibit, +            AS_HELP_STRING([--with-systemdinhibit], +            [Add systemdinhibit support]),, +            with_systemdinhibit=auto) + +use_systemdinhibit=no +if test "x$with_systemdinhibit" != "xno" ; then +    use_systemdinhibit=yes +    AC_DEFINE(WITH_SYSTEMD_INHIBIT, 1, [systemdinhibit support]) + +    PKG_CHECK_MODULES(SYSTEMD_INHIBIT, libsystemd-login libsystemd-daemon) +fi +AM_CONDITIONAL(WITH_SYSTEMD_INHIBIT, test x$use_systemdinhibit = xyes) +AC_SUBST(WITH_SYSTEMD_INHIBIT) + +dnl ---------------------------------------------------------------------------  dnl - DocBook Documentation  dnl ---------------------------------------------------------------------------  AC_ARG_ENABLE(docbook-docs, @@ -382,6 +401,7 @@ echo "          Building extra applets:    ${enable_applets}          Self test support:         ${have_tests}          Use libunique:             ${enable_libunique} +        systemd support:           ${use_systemdinhibit}          Docbook support:           ${enable_docbook_docs}          documentation dir:         $DOCDIR          dbus-1 services dir:       $DBUS_SERVICES_DIR diff --git a/src/gpm-manager.c b/src/gpm-manager.c index 34d8e9a..c6f4d79 100644 --- a/src/gpm-manager.c +++ b/src/gpm-manager.c @@ -1842,6 +1842,7 @@ gpm_manager_control_resume_cb (GpmControl *control, GpmControlAction action, Gpm  	g_timeout_add_seconds (1, gpm_manager_reset_just_resumed_cb, manager);  } +#ifdef WITH_SYSTEMD_INHIBIT  /**   * gpm_main_system_inhibit:   **/ @@ -1909,6 +1910,7 @@ gpm_manager_systemd_inhibit (GDBusProxy *proxy) {      egg_debug ("Inhibiting systemd sleep - success");      return r;  } +#endif  /**   * gpm_manager_init: @@ -1927,8 +1929,10 @@ gpm_manager_init (GpmManager *manager)  	connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);      g_connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); +#ifdef WITH_SYSTEMD_INHIBIT      /* We want to inhibit the systemd suspend options, and take care of them ourselves */      manager->priv->systemd_inhibit = gpm_manager_systemd_inhibit (manager->priv->systemd_inhibit_proxy); +#endif  	/* init to unthrottled */  	manager->priv->screensaver_ac_throttle_id = 0; @@ -2087,6 +2091,7 @@ gpm_manager_finalize (GObject *object)  	g_object_unref (manager->priv->client);  	g_object_unref (manager->priv->status_icon); +#ifdef WITH_SYSTEMD_INHIBIT      /* Let systemd take over again ... */      if (manager->priv->systemd_inhibit > 0) {          close(manager->priv->systemd_inhibit); @@ -2095,6 +2100,7 @@ gpm_manager_finalize (GObject *object)          g_object_unref (manager->priv->systemd_inhibit_proxy);      }      //g_object_unref (manager->priv->systemd_inhibit); +#endif  	G_OBJECT_CLASS (gpm_manager_parent_class)->finalize (object);  }  | 
