added bing wallpaper
This commit is contained in:
@@ -131,6 +131,15 @@ COPY configs/kargs-plymouth.toml /usr/lib/bootc/kargs.d/plymouth.toml
|
|||||||
COPY --chmod=755 scripts/notify-bootc-user.sh /usr/bin/
|
COPY --chmod=755 scripts/notify-bootc-user.sh /usr/bin/
|
||||||
COPY --chmod=755 scripts/kanshi-autoconfig /usr/bin/kanshi-autoconfig
|
COPY --chmod=755 scripts/kanshi-autoconfig /usr/bin/kanshi-autoconfig
|
||||||
COPY --chmod=755 scripts/seed-labwc-skel.sh /usr/bin/seed-labwc-skel
|
COPY --chmod=755 scripts/seed-labwc-skel.sh /usr/bin/seed-labwc-skel
|
||||||
|
COPY --chmod=755 scripts/bing-wallpaper.sh /usr/bin/bing-wallpaper.sh
|
||||||
|
COPY --chmod=755 scripts/bing-wallpaper-toggle.sh /usr/bin/bing-wallpaper-toggle.sh
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
# labwc/kanshi-Defaults fuer neue Benutzer (Bestand bleibt via seed-labwc-skel)
|
# labwc/kanshi-Defaults fuer neue Benutzer (Bestand bleibt via seed-labwc-skel)
|
||||||
COPY configs/skel/ /etc/skel/
|
COPY configs/skel/ /etc/skel/
|
||||||
@@ -186,6 +195,10 @@ RUN systemctl enable \
|
|||||||
flatpak-preinstall.service \
|
flatpak-preinstall.service \
|
||||||
greetd.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
|
||||||
|
|
||||||
# SELinux-Labels fuer Greeter/Skel/Sessions (Fehler tolerieren, Labels
|
# SELinux-Labels fuer Greeter/Skel/Sessions (Fehler tolerieren, Labels
|
||||||
# werden beim Deployment ggf. erneut gesetzt)
|
# werden beim Deployment ggf. erneut gesetzt)
|
||||||
RUN restorecon -Rv /etc/greetd /etc/skel /usr/share/wayland-sessions 2>/dev/null || true
|
RUN restorecon -Rv /etc/greetd /etc/skel /usr/share/wayland-sessions 2>/dev/null || true
|
||||||
|
|||||||
@@ -39,21 +39,4 @@ dnf5 install -y \
|
|||||||
f${FEDORA_VERSION}-backgrounds \
|
f${FEDORA_VERSION}-backgrounds \
|
||||||
fedora-workstation-backgrounds
|
fedora-workstation-backgrounds
|
||||||
|
|
||||||
# Flacher Wallpaper-Pool fuer Noctalias Picker (der ist NICHT rekursiv und
|
|
||||||
# sieht Unterordner unter /usr/share/backgrounds nicht). Symlinks statt
|
|
||||||
# Kopien: null Mehrbytes im Image. Deterministisch benannt, vollstaendig.
|
|
||||||
mkdir -p /usr/share/noctalia-wallpapers
|
|
||||||
i=0
|
|
||||||
while IFS= read -r img; do
|
|
||||||
i=$((i + 1))
|
|
||||||
ext="${img##*.}"
|
|
||||||
ln -sf "$img" "/usr/share/noctalia-wallpapers/fluffy-pool-$(printf '%02d' "$i").${ext}"
|
|
||||||
done < <(find /usr/share/backgrounds -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) | sort)
|
|
||||||
if [ "$i" -lt 1 ]; then
|
|
||||||
echo "FEHLER: keine Wallpaper unter /usr/share/backgrounds gefunden"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Wallpaper-Pool: $i Motive"
|
|
||||||
ls /usr/share/noctalia-wallpapers
|
|
||||||
|
|
||||||
dnf5 clean all
|
dnf5 clean all
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Bing-Wallpaper an/aus
|
||||||
|
GenericName=Tages-Wallpaper umschalten
|
||||||
|
Comment=Tägliches Bing-Wallpaper ein- oder ausschalten
|
||||||
|
Exec=/usr/bin/bing-wallpaper-toggle.sh
|
||||||
|
Icon=preferences-desktop-wallpaper
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Settings;DesktopSettings;
|
||||||
|
Keywords=wallpaper;bing;hintergrund;
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
# Noctalia Wallpaper-Defaults – fluffy-pancake (Noctalia-Zweig)
|
# Noctalia Wallpaper-Defaults – fluffy-pancake (Noctalia-Zweig)
|
||||||
# Picker zeigt den flachen System-Pool (alle Fedora-Motive inkl. Extras als
|
# Picker zeigt /usr/share/backgrounds (alle Fedora-Motive inkl. Extras).
|
||||||
# Symlinks, da der Picker keine Unterordner sieht). Eigene Bilder: in der
|
# Unterordner: im Panel einmalig "Flatten" einschalten (bleibt gespeichert),
|
||||||
# GUI (Wallpaper-Panel) auf ~/Bilder umstellen oder hier eintragen.
|
# oder in Ordner navigieren. Eigene Bilder: in der GUI (Wallpaper-Panel)
|
||||||
|
# auf ~/Bilder umstellen oder hier eintragen.
|
||||||
# GUI-Aenderung landet in settings.toml und gewinnt ueber dieser Datei.
|
# GUI-Aenderung landet in settings.toml und gewinnt ueber dieser Datei.
|
||||||
[wallpaper]
|
[wallpaper]
|
||||||
directory = "/usr/share/noctalia-wallpapers"
|
directory = "/usr/share/backgrounds"
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Tages-Wallpaper von Bing laden und setzen
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/bing-wallpaper.sh
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Taeglich frisches Bing-Wallpaper (06:00, bei ausgeschaltetem Rechner
|
||||||
|
# nachgeholt). Abschalten pro User mit:
|
||||||
|
# systemctl --user disable --now bing-wallpaper.timer
|
||||||
|
[Unit]
|
||||||
|
Description=Taeglich Bing-Wallpaper laden
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 06:00:00
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# bing-wallpaper-toggle: Bing-Tages-Wallpaper an/aus schalten (User-Timer).
|
||||||
|
# Fuer den Noctalia-Launcher (.desktop-Datei) - kein Terminal noetig.
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
NOTIFY="/usr/bin/notify-send"
|
||||||
|
|
||||||
|
if systemctl --user is-enabled --quiet bing-wallpaper.timer; then
|
||||||
|
systemctl --user disable --now bing-wallpaper.timer
|
||||||
|
msg="Bing-Wallpaper ausgeschaltet"
|
||||||
|
else
|
||||||
|
systemctl --user enable --now bing-wallpaper.timer
|
||||||
|
msg="Bing-Wallpaper eingeschaltet (taeglich 06:00 Uhr)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v "$NOTIFY" >/dev/null; then
|
||||||
|
"$NOTIFY" "Bing-Wallpaper" "$msg" --app-name="Bing-Wallpaper" --icon=preferences-desktop-wallpaper || true
|
||||||
|
else
|
||||||
|
echo "$msg"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# bing-wallpaper: Tages-Wallpaper von Bing laden und direkt setzen.
|
||||||
|
# Quelle: HPImageArchive-API (inoffiziell, aber seit Jahren stabil),
|
||||||
|
# Markt de-DE, UHD-Aufloesung. Lizenz: nur zur privaten Nutzung als
|
||||||
|
# Hintergrund (keine Redistribution - es wird nur heruntergeladen).
|
||||||
|
# Ablage: ~/Bilder/Bing/bing-YYYY-MM-DD.jpg, Retention 7 Tage.
|
||||||
|
# Setzen via Noctalia-IPC (persistiert + triggert Theme-Resolve neu).
|
||||||
|
# Laeuft die Shell gerade nicht, bleibt die Datei fuer spaeter liegen.
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
API="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE"
|
||||||
|
OUTDIR="${HOME}/Bilder/Bing"
|
||||||
|
[[ -d "${HOME}/Bilder" ]] || OUTDIR="${HOME}/Pictures/Bing"
|
||||||
|
mkdir -p "${OUTDIR}"
|
||||||
|
|
||||||
|
TODAY="$(date +%F)"
|
||||||
|
TARGET="${OUTDIR}/bing-${TODAY}.jpg"
|
||||||
|
|
||||||
|
if [[ ! -s "${TARGET}" ]]; then
|
||||||
|
JSON="$(curl -fsSL --retry 3 --retry-delay 5 "${API}")"
|
||||||
|
URLBASE="$(printf '%s' "${JSON}" | jq -r '.images[0].urlbase // empty')"
|
||||||
|
[[ -n "${URLBASE}" ]] || { echo "Bing-Antwort ohne urlbase"; exit 1; }
|
||||||
|
curl -fsSL --retry 3 --retry-delay 5 -o "${TARGET}" "https://www.bing.com${URLBASE}_UHD.jpg"
|
||||||
|
echo "Geladen: ${TARGET}"
|
||||||
|
else
|
||||||
|
echo "Bereits vorhanden: ${TARGET}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Alte behalten wir 7 Tage (Rotation via Noctalia-Automation moeglich)
|
||||||
|
ls -t "${OUTDIR}"/bing-*.jpg 2>/dev/null | tail -n +8 | xargs -r rm -f --
|
||||||
|
echo "Bereinigt, behalten: $(ls "${OUTDIR}"/bing-*.jpg 2>/dev/null | wc -l)"
|
||||||
|
|
||||||
|
# Direkt setzen (schlaegt fehl ohne laufende Shell -> Datei bleibt liegen)
|
||||||
|
noctalia msg wallpaper-set "${TARGET}" && echo "Gesetzt: ${TARGET}" || echo "Noctalia laeuft nicht - Datei liegt bereit"
|
||||||
Reference in New Issue
Block a user