From 0d2d6303d3e39fa84b45e6a001fa18fca0512415 Mon Sep 17 00:00:00 2001 From: humocs-man <251756307+humocs-man@users.noreply.github.com> Date: Thu, 1 Oct 2026 21:16:47 +0200 Subject: [PATCH] fixed bing-wallpaper --- Containerfile | 14 +++++++------- build/22-noctalia.sh | 3 ++- configs/skel/.config/noctalia/wallpaper.toml | 10 +++++----- scripts/bing-wallpaper-toggle.sh | 12 ++++++++++++ 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/Containerfile b/Containerfile index 8e0cb5e..d34e76d 100644 --- a/Containerfile +++ b/Containerfile @@ -137,9 +137,10 @@ COPY --chmod=755 scripts/bing-wallpaper-toggle.sh /usr/bin/bing-wallpaper-toggle # Desktop-Datei fuer den Toggle (Noctalia-Launcher findet ihn als App) COPY configs/applications/bing-wallpaper-toggle.desktop /usr/share/applications/bing-wallpaper-toggle.desktop -# User-Units (Bing-Wallpaper-Timer; Enable weiter unten via --global) -COPY configs/systemd/user/bing-wallpaper.service /usr/lib/systemd/user/bing-wallpaper.service -COPY configs/systemd/user/bing-wallpaper.timer /usr/lib/systemd/user/bing-wallpaper.timer +# User-Units (Bing-Wallpaper-Timer). --chmod: In-Image-Units muessen 644 +# sein (world-writable Units warnt systemd lautstark an). +COPY --chmod=644 configs/systemd/user/bing-wallpaper.service /usr/lib/systemd/user/bing-wallpaper.service +COPY --chmod=644 configs/systemd/user/bing-wallpaper.timer /usr/lib/systemd/user/bing-wallpaper.timer # labwc/kanshi-Defaults fuer neue Benutzer (Bestand bleibt via seed-labwc-skel) COPY configs/skel/ /etc/skel/ @@ -182,7 +183,7 @@ RUN set -u; \ # ============================================================================= # 4. Kopiere den Systemd-Service für den Erst-Boot von Flatpak -COPY configs/flatpak-preinstall.service /usr/lib/systemd/system/flatpak-preinstall.service +COPY --chmod=644 configs/flatpak-preinstall.service /usr/lib/systemd/system/flatpak-preinstall.service # 5. Aktiviere Services (Presets greifen nicht bei COPY-Dateien) # HINWEIS: greetd wird bereits in 21-greetd.sh enabled; hier als @@ -195,9 +196,8 @@ RUN systemctl enable \ flatpak-preinstall.service \ greetd.service -# User-Units global enablen (fuer alle Benutzer; danach pro User per -# systemctl --user disable abschaltbar). Muss NACH dem COPY oben stehen. -RUN systemctl --global enable bing-wallpaper.timer +# User-Units (Bing) liegen bereit, werden aber NICHT global aktiviert: +# Bing-Timer ist Opt-in per Launcher-App "Bing-Wallpaper an/aus". # SELinux-Labels fuer Greeter/Skel/Sessions (Fehler tolerieren, Labels # werden beim Deployment ggf. erneut gesetzt) diff --git a/build/22-noctalia.sh b/build/22-noctalia.sh index 2afeb08..c3fa8c2 100755 --- a/build/22-noctalia.sh +++ b/build/22-noctalia.sh @@ -37,6 +37,7 @@ dnf5 install -y \ dconf \ gsettings-desktop-schemas \ f${FEDORA_VERSION}-backgrounds \ - fedora-workstation-backgrounds + fedora-workstation-backgrounds \ + gnome-backgrounds dnf5 clean all diff --git a/configs/skel/.config/noctalia/wallpaper.toml b/configs/skel/.config/noctalia/wallpaper.toml index 56f7833..d5f5869 100644 --- a/configs/skel/.config/noctalia/wallpaper.toml +++ b/configs/skel/.config/noctalia/wallpaper.toml @@ -1,8 +1,8 @@ # Noctalia Wallpaper-Defaults – fluffy-pancake (Noctalia-Zweig) -# Picker zeigt /usr/share/backgrounds (alle Fedora-Motive inkl. Extras). -# Unterordner: im Panel einmalig "Flatten" einschalten (bleibt gespeichert), -# oder in Ordner navigieren. Eigene Bilder: in der GUI (Wallpaper-Panel) -# auf ~/Bilder umstellen oder hier eintragen. +# Picker zeigt die GNOME-Motive (Standard-Fundus, flach in einem Ordner). +# Mehr Auswahl: im Panel auf /usr/share/backgrounds wechseln (dort mit +# Flatten alle Fedora-Motive) oder ~/Bilder fuer eigene Fotos. +# Täglich-Bing ist Opt-in per Launcher-App "Bing-Wallpaper an/aus". # GUI-Aenderung landet in settings.toml und gewinnt ueber dieser Datei. [wallpaper] -directory = "/usr/share/backgrounds" +directory = "/usr/share/backgrounds/gnome" diff --git a/scripts/bing-wallpaper-toggle.sh b/scripts/bing-wallpaper-toggle.sh index c360406..45b4f74 100644 --- a/scripts/bing-wallpaper-toggle.sh +++ b/scripts/bing-wallpaper-toggle.sh @@ -5,6 +5,18 @@ set -euo pipefail NOTIFY="/usr/bin/notify-send" +# Altlast-Erkennung: Falls der Timer GLOBAL enabled ist (Opt-out-Image +# vor dem Opt-in-Umbau), greift kein User-Disable. Einmalig per sudo +# aufraeumen, danach arbeitet der Toggle rein im User-Scope. +if systemctl --global is-enabled --quiet bing-wallpaper.timer 2>/dev/null; then + msg="Global aktiviert (Image-Altlast). Einmalig: sudo rm -f /etc/systemd/user/timers.target.wants/bing-wallpaper.timer && systemctl --user daemon-reload" + echo "${msg}" + if command -v "$NOTIFY" >/dev/null; then + "$NOTIFY" "Bing-Wallpaper" "$msg" --app-name="Bing-Wallpaper" --icon=preferences-desktop-wallpaper || true + fi + exit 0 +fi + if systemctl --user is-enabled --quiet bing-wallpaper.timer; then systemctl --user disable --now bing-wallpaper.timer msg="Bing-Wallpaper ausgeschaltet"