summaryrefslogtreecommitdiff
path: root/system_files/usr/libexec
diff options
context:
space:
mode:
Diffstat (limited to 'system_files/usr/libexec')
-rwxr-xr-xsystem_files/usr/libexec/aerocore-desktop-branding28
1 files changed, 28 insertions, 0 deletions
diff --git a/system_files/usr/libexec/aerocore-desktop-branding b/system_files/usr/libexec/aerocore-desktop-branding
new file mode 100755
index 0000000..8b8b9e0
--- /dev/null
+++ b/system_files/usr/libexec/aerocore-desktop-branding
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+# The optional prefix makes the migration testable without touching the host.
+root_prefix="${AEROCORE_DESKTOP_BRANDING_ROOT:-}"
+about_source="${root_prefix}/usr/share/aerocore/desktop-branding/kcm-about-distrorc"
+about_target="${root_prefix}/etc/xdg/kcm-about-distrorc"
+
+# Existing installations can retain Bazzite's old /etc copy across deployment
+# updates. Only replace that known upstream default; administrator changes win.
+if [[ -f "${about_source}" ]] &&
+ { [[ ! -f "${about_target}" ]] || grep -Fxq 'Name=Bazzite' "${about_target}"; }; then
+ install -Dm0644 "${about_source}" "${about_target}"
+fi
+
+# Deck's stock look-and-feel stores this value in each user's Plasma config.
+# Migrate only the unmodified upstream value so users can still choose an icon.
+shopt -s nullglob
+for plasma_config in "${root_prefix}"/var/home/*/.config/plasma-org.kde.plasma.desktop-appletsrc \
+ "${root_prefix}"/home/*/.config/plasma-org.kde.plasma.desktop-appletsrc; do
+ if grep -Fxq 'icon=distributor-logo-steamdeck' "${plasma_config}"; then
+ updated_config="$(mktemp "${plasma_config}.XXXXXX")"
+ sed 's/^icon=distributor-logo-steamdeck$/icon=aerocore-logo/' "${plasma_config}" > "${updated_config}"
+ cat "${updated_config}" > "${plasma_config}"
+ rm -f "${updated_config}"
+ fi
+done