Add optional systemd support
When configured with --enable-systemd, this patch makes the user panel use systemd for session tracking instead of ConsoleKit. https://bugzilla.gnome.org/show_bug.cgi?id=666573
This commit is contained in:
parent
f3592ce32a
commit
b294b10324
2 changed files with 30 additions and 1 deletions
14
configure.ac
14
configure.ac
|
@ -55,6 +55,17 @@ CPPFLAGS=$savecppflags
|
||||||
|
|
||||||
AC_CHECK_LIB(m, floor)
|
AC_CHECK_LIB(m, floor)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([systemd],
|
||||||
|
AS_HELP_STRING([--enable-systemd], [Use systemd]),
|
||||||
|
[with_systemd=$enableval],
|
||||||
|
[with_systemd=no])
|
||||||
|
if test "$with_systemd" = "yes" ; then
|
||||||
|
SYSTEMD=libsystemd-login
|
||||||
|
AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available])
|
||||||
|
else
|
||||||
|
SYSTEMD=
|
||||||
|
fi
|
||||||
|
|
||||||
dnl ==============================================
|
dnl ==============================================
|
||||||
dnl Check that we meet the dependencies
|
dnl Check that we meet the dependencies
|
||||||
dnl ==============================================
|
dnl ==============================================
|
||||||
|
@ -118,7 +129,8 @@ PKG_CHECK_MODULES(USER_ACCOUNTS_PANEL, $COMMON_MODULES dbus-glib-1
|
||||||
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
|
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
|
||||||
gnome-desktop-3.0
|
gnome-desktop-3.0
|
||||||
clutter-gst-1.0
|
clutter-gst-1.0
|
||||||
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION)
|
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION
|
||||||
|
$SYSTEMD)
|
||||||
PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
|
PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
|
||||||
gnome-settings-daemon >= $GSD_REQUIRED_VERSION
|
gnome-settings-daemon >= $GSD_REQUIRED_VERSION
|
||||||
xi >= 1.2 x11 libwacom)
|
xi >= 1.2 x11 libwacom)
|
||||||
|
|
|
@ -1028,6 +1028,22 @@ um_user_set_password (UmUser *user,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SYSTEMD
|
||||||
|
|
||||||
|
#include <systemd/sd-login.h>
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
um_user_is_logged_in (UmUser *user)
|
||||||
|
{
|
||||||
|
int n_sessions;
|
||||||
|
|
||||||
|
n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0;
|
||||||
|
|
||||||
|
return n_sessions > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
um_user_is_logged_in (UmUser *user)
|
um_user_is_logged_in (UmUser *user)
|
||||||
{
|
{
|
||||||
|
@ -1065,6 +1081,7 @@ um_user_is_logged_in (UmUser *user)
|
||||||
return n_sessions > 0;
|
return n_sessions > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
um_user_set_automatic_login (UmUser *user,
|
um_user_set_automatic_login (UmUser *user,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue