From e4608f18bc3a5ad307e1a1deaa7ac0048d03f991 Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 27 Aug 2026 08:08:00 +0800 Subject: fix: replace symlinked desktop branding assets --- system_files/usr/libexec/aerocore-desktop-branding | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 system_files/usr/libexec/aerocore-desktop-branding (limited to 'system_files/usr/libexec') 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 -- cgit v1.2.3