aboutsummaryrefslogtreecommitdiff
path: root/src/backend-dbus/actions.c
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-06-21 16:16:10 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-06-21 16:18:25 +0200
commit69772c44a7d29330df0d757d2a98f6ea1b0ba85c (patch)
treea36a34b30dfa2a8e9f0a73b003f947cf11df3515 /src/backend-dbus/actions.c
parent61466f5cb65ee351bf337c304958ed423c74891d (diff)
downloadayatana-indicator-session-personal/sunweaver/mate-lockdown-support.tar.gz
ayatana-indicator-session-personal/sunweaver/mate-lockdown-support.tar.bz2
ayatana-indicator-session-personal/sunweaver/mate-lockdown-support.zip
src/backend-dbus/actions.c: Fix MATE lockdown support (don't require org.gnome.desktop.lockdown gsettings to be set, honour org.mate.desktop.lockdown gsettings instead).personal/sunweaver/mate-lockdown-support
Diffstat (limited to 'src/backend-dbus/actions.c')
-rw-r--r--src/backend-dbus/actions.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c
index e154ed7..024438b 100644
--- a/src/backend-dbus/actions.c
+++ b/src/backend-dbus/actions.c
@@ -1114,21 +1114,32 @@ static void
indicator_session_actions_dbus_init (IndicatorSessionActionsDbus * self)
{
priv_t * p;
- GSettings * s;
+ GSettings * s = null;
p = indicator_session_actions_dbus_get_instance_private (self);
p->cancellable = g_cancellable_new ();
p->seat_allows_activation = TRUE;
self->priv = p;
- s = g_settings_new ("org.gnome.desktop.lockdown");
- g_signal_connect_swapped (s, "changed::disable-lock-screen",
- G_CALLBACK(indicator_session_actions_notify_can_lock), self);
- g_signal_connect_swapped (s, "changed::disable-log-out",
- G_CALLBACK(indicator_session_actions_notify_can_logout), self);
- g_signal_connect_swapped (s, "changed::disable-user-switching",
- G_CALLBACK(indicator_session_actions_notify_can_switch), self);
- p->lockdown_settings = s;
+ if (ayatana_common_utils_is_gnome() || ayatana_common_utils_is_budgie())
+ {
+ s = g_settings_new ("org.gnome.desktop.lockdown");
+ }
+ elif (ayatana_common_utils_is_mate())
+ {
+ s = g_settings_new ("org.mate.desktop.lockdown");
+ }
+
+ if (s)
+ {
+ g_signal_connect_swapped (s, "changed::disable-lock-screen",
+ G_CALLBACK(indicator_session_actions_notify_can_lock), self);
+ g_signal_connect_swapped (s, "changed::disable-log-out",
+ G_CALLBACK(indicator_session_actions_notify_can_logout), self);
+ g_signal_connect_swapped (s, "changed::disable-user-switching",
+ G_CALLBACK(indicator_session_actions_notify_can_switch), self);
+ p->lockdown_settings = s;
+ }
s = g_settings_new ("org.ayatana.indicator.session");
g_signal_connect_swapped (s, "changed::suppress-logout-restart-shutdown",