Watch
1
0
Fork
You've already forked souveraine
0

settings: wallpaper download + purity toggle, repo-owned

Adds a Download-random-wallpaper button and a 3-way content filter
(SFW/Sketchy/NSFW) to our Wallpaper settings page, backed by a new
WallpaperDownload service and its own download script under
surfaces/quickshell/scripts/wallpaper/ — not ii's scripts/colors tree,
which is going away. Only the 'wallpapers apply' IPC target still comes
from ii and moves with it when the base is vendored.

Downloads are named by wallhaven id so the library accumulates instead of
overwriting a single wallhaven_wallpaper.<ext>. Purity is read from and
written to background.wallhaven.purity in config.json (not in the upstream
Config.options schema). Anchors the root scripts/ gitignore to / so shipped
surface scripts are tracked.
This commit is contained in:
Fimeg 2026-07-21 17:30:32 -04:00
commit cd2150542e
6 changed files with 327 additions and 11 deletions

View file

@ -4,10 +4,15 @@
# Model: ~/.config/quickshell/souveraine is BUILT by this script —
# - our files (this repo) are symlinked in, repo stays source of truth
# - untouched upstream directories are borrowed as whole-dir symlinks
# into the pristine ii tree (so upstream updates flow through)
# into the ii tree (so upstream updates flow through)
# - directories where we override any file are composed file-by-file
# ii's own tree is left pristine: no overlay symlinks, no .upstream backups.
# Cutting the cord from ii later = vendor a borrowed dir, per directory.
# The ii tree itself is DEPLOYED from this repo (ii-base/, the pinned base —
# vendored 2026-07-21 after laptop/phone drifted ~900 files): every run
# rsyncs ii-base -> ~/.config/quickshell/ii, so "borrowed from ii" means
# borrowed from the same pin on every device. On the phone (aarch64) the
# ii-phone/ overlay is applied on top — the declared home for phone-only
# files (Cellular, mobile bar/OSK/wallpaper behavior). Never hand-edit
# ~/.config/quickshell/ii; change ii-base/ (or ii-phone/) and redeploy.
#
# deploy.sh compose ~/.config/quickshell/souveraine
# deploy.sh -u remove the souveraine config dir (ii untouched)
@ -25,6 +30,7 @@ SV="${QS}/souveraine"
MANIFEST="
shell.qml souveraine/shell.qml
GlobalStates.qml souveraine/GlobalStates.qml
settings.qml souveraine/settings.qml
settings-phone.qml souveraine/settings-phone.qml
panelFamilies/SouveraineFamily.qml souveraine/panelFamilies/SouveraineFamily.qml
services/Souveraine.qml souveraine/services/Souveraine.qml
@ -35,6 +41,8 @@ services/Idle.qml souveraine/services/Idle.qml
services/IdleCoordinator.qml souveraine/services/IdleCoordinator.qml
services/LockContentPolicy.qml souveraine/services/LockContentPolicy.qml
services/WallpaperAssets.qml souveraine/services/WallpaperAssets.qml
services/WallpaperDownload.qml souveraine/services/WallpaperDownload.qml
scripts/wallpaper/download_wallhaven.sh souveraine/scripts/wallpaper/download_wallhaven.sh
services/ConflictKiller.qml souveraine/services/ConflictKiller.qml
services/SessionEvents.qml souveraine/services/SessionEvents.qml
services/SessiondBridge.qml souveraine/services/SessiondBridge.qml
@ -110,7 +118,8 @@ modules/ii/sidebarRight/volumeMixer/qmldir souveraine/modules/ii/sidebarRight/vo
modules/settings/qmldir souveraine/modules/settings/qmldir
"
PHONE_USB=casey@172.16.42.1
# wifi fallback: PHONE_HOST=casey@10.10.20.234 ./deploy.sh --phone
PHONE_USB="${PHONE_HOST:-casey@172.16.42.1}"
PHONE_DEST="souveraine-surfaces/quickshell"
manifest_lines() { printf '%s\n' "$MANIFEST" | sed '/^[[:space:]]*$/d'; }
@ -175,7 +184,16 @@ if [[ "${1:-}" == "--legacy-clean" ]]; then
exit 0
fi
[[ -d "$II" ]] || { echo "illogical-impulse config not found at $II" >&2; exit 1; }
# --- Sync the pinned ii base --------------------------------------------
# --exclude .git: the pin carries no VCS dirs, and any nested .git already
# on a device (e.g. widgets/shapes) is left alone rather than deleted.
rsync -a --delete --exclude='.git' "$SRC/ii-base/" "$II/"
if [[ "$(uname -m)" == "aarch64" ]]; then
rsync -a "$SRC/ii-phone/" "$II/"
echo "ii synced from pin + phone overlay"
else
echo "ii synced from pin"
fi
# --- Compose -------------------------------------------------------------
# Targets under souveraine/, relative to $SV