diff --git a/iso-profiles/antergos/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/iso-profiles/antergos/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc index c80bedc..b3fb3b9 100644 --- a/iso-profiles/antergos/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc +++ b/iso-profiles/antergos/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -7,5 +7,5 @@ plugin=org.kde.plasma.folder wallpaperplugin=org.kde.image [Containments][1][Wallpaper][org.kde.image][General] -Image=file:///usr/share/wallpapers/antergos-wallpaper/contents/images/adwaita-morning.webp +Image=file:///usr/share/wallpapers/antergos-wallpaper/contents/images/antergos-wallpaper.png FillMode=2 diff --git a/iso-profiles/antergos/live-overlay/home/antergos/.config/plasma-org.kde.plasma.desktop-appletsrc b/iso-profiles/antergos/live-overlay/home/antergos/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100644 index 0000000..b3fb3b9 --- /dev/null +++ b/iso-profiles/antergos/live-overlay/home/antergos/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,11 @@ +[Containments][1] +activity= +formfactor=0 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][1][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/antergos-wallpaper/contents/images/antergos-wallpaper.png +FillMode=2 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 0aba28a..a49b678 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 @@ -1,10 +1,11 @@ #!/usr/bin/env bash # One-shot wallpaper setter for Antergos NeXT # Runs at first login via autostart, then disables itself +# Uses multiple fallback methods for Plasma 6 + Wayland compatibility LOG="/tmp/antergos-wallpaper.log" MARKER="$HOME/.config/antergos-wallpaper-set" -WALLPAPER="/usr/share/wallpapers/antergos-wallpaper/contents/images/adwaita-morning.webp" +WALLPAPER="/usr/share/wallpapers/antergos-wallpaper/contents/images/antergos-wallpaper.png" echo "[$(date)] Starting" > "$LOG" @@ -22,22 +23,46 @@ fi echo "[$(date)] Wallpaper found, applying..." >> "$LOG" -echo "[$(date)] Applying wallpaper..." >> "$LOG" +# Method 1: plasma-apply-wallpaperimage (primary, works on Plasma 6) +echo "[$(date)] Method 1: plasma-apply-wallpaperimage..." >> "$LOG" /usr/bin/plasma-apply-wallpaperimage "$WALLPAPER" >> "$LOG" 2>&1 RC=$? -echo "[$(date)] plasma-apply-wallpaperimage exit code: $RC" >> "$LOG" +echo "[$(date)] Method 1 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" + # Method 2: kwriteconfig6 + qdbus6 config reload + echo "[$(date)] Method 2: kwriteconfig6 + qdbus6..." >> "$LOG" + CONFIG="$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc" + if [[ -f "$CONFIG" ]]; then + kwriteconfig6 --file "$CONFIG" \ + --group "Containments" --group "1" \ + --group "Wallpaper" --group "org.kde.image" --group "General" \ + --key "Image" "file://${WALLPAPER}" >> "$LOG" 2>&1 + kwriteconfig6 --file "$CONFIG" \ + --group "Containments" --group "1" \ + --group "Wallpaper" --group "org.kde.image" --group "General" \ + --key "FillMode" "2" >> "$LOG" 2>&1 + qdbus6 org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.refreshCurrentShell >> "$LOG" 2>&1 + RC2=$? + echo "[$(date)] Method 2 exit code: $RC2" >> "$LOG" + else + echo "[$(date)] Config not found at $CONFIG, skipping method 2" >> "$LOG" + RC2=1 + fi + + if [[ $RC2 -ne 0 ]]; then + # Method 3: qdbus6 evaluateScript (legacy API fallback) + echo "[$(date)] Method 3: qdbus6 evaluateScript..." >> "$LOG" + qdbus6 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 + RC3=$? + echo "[$(date)] Method 3 exit code: $RC3" >> "$LOG" + fi fi touch "$MARKER" 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 index 18f2749..b6cad3f 100644 --- 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 @@ -26,7 +26,7 @@ - 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 + file:///usr/share/wallpapers/antergos-wallpaper/contents/images/antergos-wallpaper.png