From 8efbcc153a2064eb92b85dbb9565c99dc654ebdd Mon Sep 17 00:00:00 2001 From: Celestia Ludenberg Date: Thu, 2 Jul 2026 19:50:27 +0200 Subject: [PATCH] Fix GRUB theme, wallpaper, and netinstall config - buildiso: copy Antergos GRUB theme to ISO boot directory - profile.yaml: add antergos-grub-theme to rootfs packages - netinstall: move antergos-grub-theme from optional Style to mandatory Default group - main.xml: set Antergos wallpaper as KDE system default - set-antergos-wallpaper.sh: add QDbus fallback, wait for plasmashell - .gitignore: ignore linux-next/ and winver/ --- .gitignore | 2 + buildiso | 7 ++ .../calamares-online/modules/netinstall.yaml | 4 +- .../etc/calamares/modules/netinstall.yaml | 4 +- iso-profiles/antergos/profile.yaml | 1 + .../usr/local/bin/set-antergos-wallpaper.sh | 29 +++++-- .../org.kde.image/contents/config/main.xml | 83 +++++++++++++++++++ 7 files changed, 120 insertions(+), 10 deletions(-) create mode 100644 iso-profiles/antergos/root-overlay/usr/share/plasma/wallpapers/org.kde.image/contents/config/main.xml diff --git a/.gitignore b/.gitignore index 6889476..8207f3b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ iso/ out/ install.log docs/_site/ +linux-next/ +winver/ diff --git a/buildiso b/buildiso index 5f5c9b6..ef31490 100755 --- a/buildiso +++ b/buildiso @@ -179,6 +179,13 @@ make_grub(){ prepare_grub "${work_dir}/rootfs" "$layer" + # Copy Antergos GRUB theme to ISO boot (overrides Artix theme) + if [[ -d "${work_dir}/livefs/usr/share/grub/themes/antergos" ]]; then + cp -r "${work_dir}/livefs/usr/share/grub/themes/antergos" "${work_dir}/iso/boot/grub/themes/" + elif [[ -d "${work_dir}/rootfs/usr/share/grub/themes/antergos" ]]; then + cp -r "${work_dir}/rootfs/usr/share/grub/themes/antergos" "${work_dir}/iso/boot/grub/themes/" + fi + if ${use_dracut}; then configure_grub_dracut else diff --git a/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/netinstall.yaml b/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/netinstall.yaml index 1877281..a60bed7 100644 --- a/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/netinstall.yaml +++ b/iso-profiles/antergos/live-overlay/etc/calamares-online/modules/netinstall.yaml @@ -10,6 +10,7 @@ - grub - efibootmgr - sudo + - antergos-grub-theme - name: "Kernel" description: "Kernel and modules" @@ -61,8 +62,7 @@ - name: "Style" description: "Antergos themes, icons, branding" selected: false - packages: - - antergos-grub-theme + packages: [] - name: "Desktop" description: "DE" diff --git a/iso-profiles/antergos/live-overlay/etc/calamares/modules/netinstall.yaml b/iso-profiles/antergos/live-overlay/etc/calamares/modules/netinstall.yaml index 1877281..a60bed7 100644 --- a/iso-profiles/antergos/live-overlay/etc/calamares/modules/netinstall.yaml +++ b/iso-profiles/antergos/live-overlay/etc/calamares/modules/netinstall.yaml @@ -10,6 +10,7 @@ - grub - efibootmgr - sudo + - antergos-grub-theme - name: "Kernel" description: "Kernel and modules" @@ -61,8 +62,7 @@ - name: "Style" description: "Antergos themes, icons, branding" selected: false - packages: - - antergos-grub-theme + packages: [] - name: "Desktop" description: "DE" diff --git a/iso-profiles/antergos/profile.yaml b/iso-profiles/antergos/profile.yaml index 5fa5a41..448a698 100644 --- a/iso-profiles/antergos/profile.yaml +++ b/iso-profiles/antergos/profile.yaml @@ -29,6 +29,7 @@ rootfs: - antergos-welcome - antergos-next-memes - antergos-wallpapers + - antergos-grub-theme - hiredis - libdbi - libesmtp diff --git a/iso-profiles/antergos/root-overlay/usr/local/bin/set-antergos-wallpaper.sh b/iso-profiles/antergos/root-overlay/usr/local/bin/set-antergos-wallpaper.sh index 92e6cce..e2d6380 100755 --- a/iso-profiles/antergos/root-overlay/usr/local/bin/set-antergos-wallpaper.sh +++ b/iso-profiles/antergos/root-overlay/usr/local/bin/set-antergos-wallpaper.sh @@ -22,16 +22,33 @@ fi echo "[$(date)] Wallpaper found, applying..." >> "$LOG" -# Retry a few times in case desktop isn't ready yet -for i in 1 2 3; do - /usr/bin/plasma-apply-wallpaperimage "$WALLPAPER" >> "$LOG" 2>&1 - RC=$? - echo "[$(date)] plasma-apply-wallpaperimage attempt $i exit code: $RC" >> "$LOG" - if [[ $RC -eq 0 ]]; then +# Wait for Plasma shell to be ready +for i in 1 2 3 4 5; do + if qdbus org.kde.plasmashell >/dev/null 2>&1; then + echo "[$(date)] Plasmashell ready on attempt $i" >> "$LOG" break fi + echo "[$(date)] Waiting for plasmashell... (attempt $i)" >> "$LOG" sleep 2 done +echo "[$(date)] Trying plasma-apply-wallpaperimage..." >> "$LOG" +/usr/bin/plasma-apply-wallpaperimage "$WALLPAPER" >> "$LOG" 2>&1 +RC=$? +echo "[$(date)] plasma-apply-wallpaperimage exit code: $RC" >> "$LOG" + +if [[ $RC -ne 0 ]]; then + echo "[$(date)] Falling back to qdbus script..." >> "$LOG" + qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript " + desktops().forEach(function(d) { + d.currentConfigGroup = ['Wallpaper', 'org.kde.image', 'General']; + d.writeConfig('Image', 'file://${WALLPAPER}'); + d.reloadConfig(); + }); + " >> "$LOG" 2>&1 + FALLBACK_RC=$? + echo "[$(date)] qdbus fallback exit code: $FALLBACK_RC" >> "$LOG" +fi + touch "$MARKER" echo "[$(date)] Done" >> "$LOG" diff --git a/iso-profiles/antergos/root-overlay/usr/share/plasma/wallpapers/org.kde.image/contents/config/main.xml b/iso-profiles/antergos/root-overlay/usr/share/plasma/wallpapers/org.kde.image/contents/config/main.xml new file mode 100644 index 0000000..18f2749 --- /dev/null +++ b/iso-profiles/antergos/root-overlay/usr/share/plasma/wallpapers/org.kde.image/contents/config/main.xml @@ -0,0 +1,83 @@ + + + + + + + + false + + + + #ffffff + + + + + If the specified KPackage wallpaper contains dark images, then the following + URL fragments may be specified: + + - #day-night: switch between light and dark images based on time of day + - #dark: only use the dark image + - #light: only use the light image + - if no fragment is specified, plasma will switch between dark and light + images depending on the currently used color scheme + + file:///usr/share/wallpapers/antergos-wallpaper/contents/images/adwaita-morning.webp + + + + null + + + + 2 + + + + false + + + + preferred://wallpaperlocations + + + + 900 + + + + + + + + 0 + + + + + This is a KCM implementation detail. It is used to make the dynamic + mode preferance persistent. #day-night, #dark, and #light fragments in + the Image URL actually specify what image will be used. + + Possible values: + - 0: switch based on whether the Plasma style is dark or light + - 1: switch at sunrise and sunset + - 2: only use the light image + - 3: only use the dark image + + 0 + + + + + + + + false + + +