fix: turning the theme off no longer brings back single user's launcher restriction when single user was turned off in between

This commit is contained in:
theupriser committed 2026-09-28 10:52:28 +02:00
1 parent e615b27654
commit 3f9b9abc06
3 files changed
+25 -2

No files matched your search

+18
View File
@@ -101,6 +101,24 @@ single_launcher() {
done
}
single_launcher_drop() {
# The theme's layout backup is taken when it's turned on: with single
# user on then, it holds single's launcher keys, and restoring it after
# single was turned off brings them back. Drop exactly single's values
# (a launcher set up differently by the user is left alone).
local applet
local -a kick_args
for applet in $(plasma_applets org.kde.plasma.kickoff); do
kick_args=(--file plasma-org.kde.plasma.desktop-appletsrc --group Containments --group "${applet%%:*}"
--group Applets --group "${applet#*:}" --group Configuration --group General)
[[ "$(kreadconfig6 "${kick_args[@]}" --key primaryActions)" == 3 ]] &&
kwriteconfig6 "${kick_args[@]}" --key primaryActions --delete
[[ "$(kreadconfig6 "${kick_args[@]}" --key systemFavorites)" == 'suspend,reboot,shutdown' ]] &&
kwriteconfig6 "${kick_args[@]}" --key systemFavorites --delete
done
return 0
}
single_enable() {
info "Turning off the lock screen, user switching and logging out..."
stop_plasmashell_for_edit
+5 -1
View File
@@ -134,7 +134,11 @@ theme_disable() {
fi
# After the tools above, so keys that weren't set before are removed again.
krevert theme
single_status && single_launcher
if single_status; then
single_launcher
else
single_launcher_drop
fi
restart_plasmashell_if_stopped
qdbus6 org.kde.KWin /KWin org.kde.KWin.reconfigure >/dev/null 2>&1 || true