fix: regenerate all icon caches, not just 4 hardcoded themes #3

Closed
clawdie wants to merge 19 commits from fix/xfce-icons-and-visuals into xfce-operator-usb

19 commits

Author SHA1 Message Date
88c36118cd fix: install brand icons into hicolor, use themed name, add visual guard
Three root causes for missing XFCE icons found via live-USB hardware test:

1. XFCE plugins do not reliably load absolute icon paths — the Whisker
   Start button had button-icon=/usr/local/share/clawdie-iso/icons/...
   which silently failed to resolve. Changed to themed name "clawdie-start"
   and install the icon files into hicolor/48x48/apps/, 64x64/apps/,
   and scalable/apps/ where the icon theme lookup can find them.

2. Brand icons were only installed to /usr/local/share/clawdie-iso/icons/
   but XFCE resolves themed icon names by scanning the icon theme
   directories. Now install clawdie-start.png/svg into hicolor as well.

3. XFCE creates monitor-specific desktop keys only after xfdesktop starts,
   which can override the skeleton wallpaper. Add a post-login visual guard
   that re-applies theme, panel, and wallpaper settings at 3/7/15 seconds.

The dynamic icon-cache regeneration (all directories under icons/) is
retained from the previous commit.

Checks: sh -n build.sh clawdie-xfce-visuals-guard.sh clawdie-xfce-session-inner
2026-06-01 23:34:52 +02:00
17379e4841 fix: regenerate all icon caches, not just 4 hardcoded themes
Replaced hardcoded icon theme list (hicolor/Adwaita/AdwaitaLegacy/Papirus)
with a dynamic directory scan of /usr/local/share/icons/. Applications like
pcmanfm and xfce4-terminal install into hicolor but were missed when the
cache wasn't regenerated for all themes, causing broken launcher icons
(blank/missing glyphs) on the panel and in the Whisker menu.

Root cause: gtk-update-icon-cache was only run for the 4 known themes,
but FreeBSD packages install icons into additional directories that
weren't covered.

The Clawdie visual assets (clawdie-operator-bg.png background +
clawdie-start.png triangle icon) are already committed and referenced
correctly in xfce4-desktop.xml and xfce4-panel.xml — no changes needed.
2026-06-01 06:22:18 +02:00
a2b6f6f1d3 docs: fix cross-repo table still pointing to Codeberg (Sam & Hermes) 2026-05-29 11:58:19 +02:00
4a60cd3ca1 docs: replace Codeberg refs with Forgejo (Sam & Hermes) 2026-05-29 11:43:19 +02:00
ef28677033 chore: harden ignores against pkg cache blobs 2026-05-28 09:42:04 +02:00
48e5ab0f7d Merge xfce-operator-usb: Colibri ISO staging (Sam & Claude)
# Conflicts:
#	AGENTS.md
2026-05-28 00:46:24 +02:00
123kupola
3bbbd9b500 feat: ground-up .bashrc rewrite — sudo→mdo alias, ZFS safety (Sam & Hermes)
- shell-system.sh (runs last, step 6): rewrite .profile with agent launcher,
  full .bashrc with sudo() shell function that fire-and-forget snapshots
  zroot@cli-<ts> before mdo -u root. PATH, prompt, history, aliases (ll/la/lt).
  Agent fallback for non-login shells via ~/.ssh-agent-env.
- shell-ssh.sh (step 4): strip to ~/.ssh/config only. Agent/profile/tmux
  seeding moved to shell-system.sh so it is not overwritten.
- AGENTS.md: document sudo→mdo decision with rationale table (ISO size,
  audit surface, single privilege path, ZFS rollback safety).
2026-05-27 15:48:31 +02:00
123kupola
4b76e0a9e5 fix: add agent launcher, drop harmful update-environment (Sam & Hermes)
- Tier 1: seed ~/.profile with eval $(ssh-agent -s) launcher (FreeBSD,
  no systemd). AddKeysToAgent alone does not start an agent; without a
  launcher headless/SSH-in shells still get "Could not open connection".
- Tier 3: drop set-option -g update-environment from tmux.conf seed.
  tmux default already includes SSH_AUTH_SOCK + DISPLAY/XAUTHORITY.
  set -g replaces the entire list, breaking X11 GUI apps on XFCE.
- Remove .graphifyignore per project policy (graph artifacts not
  committed, tool not integrated into ISO repo).
2026-05-27 15:32:58 +02:00
123kupola
bef252b057 feat: seed SSH agent config in firstboot (Sam & Hermes)
shell-ssh.sh now seeds ~/.ssh/config (AddKeysToAgent yes) and
~/.tmux.conf (SSH_AUTH_SOCK persistence) after SSH key install.
Idempotent — appends to existing configs if already present.
Fixes agent-dead-after-tmux-restart for every fresh Clawdie install.
2026-05-27 15:23:17 +02:00
123kupola
bac53516bd AGENTS.md: anchor FreeBSD 15; add Colibri dependency section
Co-authored-by: Sam & Hermes
2026-05-27 02:25:40 +02:00
f3cd46b247 XFCE handoff: visual-polish lane complete, awaiting ISO rebuild + hardware boot (Sam & Claude)
Pass 1 + Pass 2 panel polish is on main and build-ready (XML valid, build.sh install paths + Whisker icon verified). Baton passes from the Claude/Linux config lane to the FreeBSD build host (osa) for an ISO rebuild + a boot on the AMD/ASUS box to check the verification items. No domedog config work remains.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 18:53:00 +02:00
f7c9abf80c Merge xfce-operator-usb: AMD ASUS hardware lane + XFCE panel polish (Sam & Claude)
Consolidates the operator-USB work into main now that the AMD ASUS hardware-evidence collection is closed and Codex is parked. Brings the live-session hardware lane (XInput/libinput touchpad guard, internal audio + resolver bootstrap, hw-report with gated public upload, operator-USB branding) and the config-only XFCE panel polish (Pass 1 + Pass 2: branded Whisker PNG, xkb text mode, panel 40px, systray square-icons).

Conflict: doc/LLM-PROVIDER-HARNESS.md was evolved on both sides. Resolved as a union with no content lost — the xfce-side harness/provider/fabric restructure is the base, and main's two unique blocks (Verifying Key Cleanup flow, the 2D Platform x Harness matrix + populate/add procedures) are preserved. The doc owner may later dedupe the overlap between the two 1D matrices and the 2D matrix.

Verification debt stays explicit and open (not closed by this merge): XFCE visual-polish confirmation and the next rebuilt-image hardware retest, per doc/XFCE-PANEL-BUGS-HANDOFF.md and PLAN-OPERATOR-USB-NEXT.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 13:30:39 +02:00
1036e8d6ef Add GPT-5.5 lane, restore platform x harness matrix with 5 providers 2026-05-25 00:23:34 +02:00
938f2e9062 Merge xfce-operator-usb: key revocation verification docs 2026-05-24 23:27:24 +02:00
116787b9e6 Add key revocation verification and error reference table (Opencode) 2026-05-24 23:26:49 +02:00
bfe1b7e782 Add platform x harness matrix: FreeBSD/Linux x 5 LLM providers (Opencode) 2026-05-24 23:22:14 +02:00
4609452cbd Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-05-24 23:21:02 +02:00
ad96541828 Point AGENTS at INSTALLER-PLAN on main (Sam & Codex) 2026-05-24 20:24:40 +02:00
cea9bdaaa9 Pin ISO npm global CLI versions
Use packages/npm-globals.txt as the source of truth for offline npm CLI tarballs, update Pi to 0.75.5, and keep Claude Code out of the XFCE USB path.

---

Build: not run — ISO build not requested

Tests: pass — sh -n fetch-npm-globals and shell-npm-globals; pinned npm pack smoke passed
2026-05-24 20:12:27 +02:00