New package packaging/tanin-icons/ generating 5 thin themes Tanin-<accent> that inherit Adwaita and recolour only the folder/place ramp to the muted Fuji accent (HSL shift keeping per-stop lightness; 16px rasterised so the size-exact inherited blue PNG can't win). - style.py: _set_gsettings now also sets icon-theme=Tanin-<accent_key> so folders recolour live with the accent. - desktop.py: hide Tanin-* from the manual icon picker (accent-driven, a manual pick would be overridden on the next accent change). - panel.py: pin-add icon hint Papirus -> Adwaita. - build/finish-tanin-repo.sh: tanin-icons in OWN_SIMPLE; AUR rebuilds add librewolf-bin, arch-update, timeshift-autosnap, xdg-terminal-exec, paru. - camel.toml: icon_theme=Tanin-<accent>, icons=[adwaita], tanin-icons own package + the new rebuilt_aur entries. Deliberately excludes unrelated in-flight work (calendar/gtklock/ online-accounts/overview-backdrop) still uncommitted in the tree. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.3 KiB
TANINUX — Handover (Session 2026-06-22)
Context for a fresh instance. Repo: ~/projects/taninux (distro codename camel,
niri-only GTK4/libadwaita + eww desktop). User: Karim (German; iterates visually;
hates UI jank; blanket perms in ~/projects). UI strings are English.
This session did two things: (A) added packages to the [tanin] binary repo,
(B) built a custom accent-reactive icon theme to replace Papirus.
A. New packages in the [tanin] repo
The [tanin] repo is a thin overlay on Arch (own packages + AUR rebuilds),
hosted on the Gitea Arch registry. Build/publish scripts in packaging/:
build-tanin-repo.sh (no-sudo), finish-tanin-repo.sh (sudo: taninux + AUR
rebuilds), publish-tanin-repo.sh (upload to Gitea).
Added to the AUR-rebuild list (build-tanin-repo.sh + finish-tanin-repo.sh):
librewolf-bin— default browser. Also a hard dep oftanin-desktop. ⚠ Security: rebuild + republish on every LibreWolf release, elsepacman -Syuships a stale (vulnerable) browser.arch-update,timeshift(+timeshift-autosnap),xdg-terminal-exec— all hard deps oftanin-desktopnow.paru— built into the repo but stays optdepend (not forced).
Deliberately rejected: papirus-folders (removed). The other 20 AUR pkgs on
Karim's machine are personal apps/games/emulators/hardware → not base-OS.
swayfx+scenefx0.4 are pulled by greetd-regreet (a leftover alt-greeter;
TANINUX uses tanin-greet) — candidate for removal, not done.
B. Icon theme: Papirus → tanin-icons (the main work)
Karim's decision: Papirus is "too flat"; Adwaita fits the design, folders
should follow the Fuji accent. The 5 Fuji accents are deliberately muted
(ume #8f8aac, shinkai #8a98ac, take #8aac8b, chikyu #aca98a, beni #ac8a8c)
— so papirus-folders (saturated presets) and native GNOME accent-folders (preset
accents only) both can't match. Hence a custom package.
New package packaging/tanin-icons/:
recolor.py— generator. Builds 5 thin themesTanin-<accent>thatInherits=Adwaita, recolouring only the folder/place icons. Algorithm: HSL shift of the Adwaita blue ramp → keep each stop's lightness, swap hue+saturation to the accent (preserves folder depth). White emblems untouched (saturation gate). 16px PNGs are rasterised viarsvg-convertbecause Adwaita's only fixed-size raster is 16x16 — without an override the inherited blue PNG wins at 16px.PKGBUILD(dependsadwaita-icon-theme; makedependslibrsvg python) +tanin-icons.install(gtk-update-icon-cache hook). Builds clean, ~52 KB.- ⚠
recolor.pywas fixed to onlyrmtreeits ownTanin-<key>subdirs, NOT the wholeOUTdir (it earlier wiped a shared dir whenOUT_DIRpointed at~/.local/share/icons— no data lost that time, but the bug is gone now). - ⚠ Rebuild this package after any
adwaita-icon-themebump (reads/usr/share/icons/Adwaitaat build time).
Integration (source only, NOT yet in the installed taninux):
src/taninux/gui/style.py → _set_gsettings() now also sets
icon-theme=Tanin-<accent_key>, so folders recolour live when the accent
changes. Also fixed src/taninux/gui/pages/panel.py hint "Papirus" → "Adwaita".
Wiring:
build-tanin-repo.sh:tanin-iconsadded toOWN_SIMPLE.tanin-desktop/PKGBUILD: depends+tanin-icons, removedpapirus-icon-theme(Adwaita is the base now),pkgrel3→5.- Distro manifests synced:
distro/camel.toml(icon_theme,icons=[adwaita...], new[[packages.own]] tanin-icons),distro/MANIFEST.md(icon row + pkg table).
CURRENT STATE — read carefully
| Thing | State |
|---|---|
tanin-icons package built (*.pkg.tar.zst) |
✅ in packaging/tanin-icons/ |
Verified GTK resolves folder @48px (svg) + @16px (png) to Tanin-<accent> |
✅ |
| Active in Karim's running session | ✅ but via a user-dir copy at ~/.local/share/icons/Tanin-* + gsettings icon-theme=Tanin-beni (current accent). NOT the pacman package. |
tanin-icons installed via pacman |
❌ (sudo needs a password; no TTY here) |
[tanin] repo rebuilt + published with the new pkgs |
❌ |
taninux/tanin-desktop rebuilt with the style.py change |
❌ → accent→icon auto-switch is NOT live yet; changing the accent in Settings won't move the icon-theme until taninux is reinstalled. Workaround now: gsettings set org.gnome.desktop.interface icon-theme Tanin-<accent>. |
| ISO rebuilt | ❌ |
So: wired in source + manifests, but no artifacts rebuilt → a fresh ISO/install does NOT have it yet.
To fully ship (needs Karim for sudo)
./packaging/finish-tanin-repo.sh— buildstanin-icons+ the newtaninux/tanin-desktop+ AUR rebuilds../packaging/publish-tanin-repo.sh— upload to Gitea (TANIN_PKG_TOKEN).- Rebuild the ISO (pulls the updated
[tanin]). - Optional cleanup: once installed system-wide, delete the user-dir copies
~/.local/share/icons/Tanin-*(identical, harmlessly shadowed).
OPEN / OFFERED, not done
- camel.toml
rebuilt_aurlist is stale — still only eww/tiramisu/waypaper/ calamares/paru; missinglibrewolf-bin,arch-update,timeshift-autosnap,xdg-terminal-exec. Offered to sync; awaiting Karim. - Manual icon-theme picker (
src/taninux/gui/desktop.py) still lists the 5Tanin-*themes and a manual pick gets overridden on the next accent change. Could filter them out — not done. - Accent-icon scope: only folders/places are recoloured. Karim was asked
whether to extend to
emblem-*/coloured mimetypes — undecided. papirus-foldersstill installed on Karim's machine (paru -Rns papirus-folders).
Gotchas to respect
- NEVER run lock/session/suspend commands to "test" (locked Karim out once).
- GTK3 can't be exact-Fuji recoloured (parse-time
@define-color); only GTK4/ libadwaita is exact. See memorytaninux-gtk-theming. - Lots of unrelated uncommitted changes exist in the tree (tanin-calendar, online_accounts, gtklock, iso/*) — NOT from this session; don't bundle them.
Files touched this session
packaging/tanin-icons/{PKGBUILD,recolor.py,tanin-icons.install} (new),
packaging/{build,finish}-tanin-repo.sh, packaging/tanin-desktop/PKGBUILD,
src/taninux/gui/style.py, src/taninux/gui/pages/panel.py,
distro/{camel.toml,MANIFEST.md}.