diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2025-06-21 16:16:10 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2025-06-21 16:18:25 +0200 |
commit | 69772c44a7d29330df0d757d2a98f6ea1b0ba85c (patch) | |
tree | a36a34b30dfa2a8e9f0a73b003f947cf11df3515 | |
parent | 61466f5cb65ee351bf337c304958ed423c74891d (diff) | |
download | ayatana-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
-rw-r--r-- | src/backend-dbus/actions.c | 29 |
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", |