Audit findings #1 and #4. #1 (accent mapping): render_theme_css hand-rolled the `:root { --name }` block and mapped --accent, --red, --on-accent and --on-red all to pywal's color1 (ANSI red — the slot bread-theme reserves for errors), so the settings webview accented in a different hue from every GTK app on the same monitor, and destructive-action styling was indistinguishable from accent styling. Replace it with a direct call to bread_theme::css_custom_properties / css_tokens (both exported in the pinned v0.7.4), which format the canonical color_pairs list: --accent = color4, --red = color1. As a bonus css_tokens emits a correct font-family list instead of one over-quoted family. #4 (live updates): watch_and_emit watched only the shared theme.css, so `breadpaper set_on` on a non-focused monitor (which writes only palettes/<out>.json + themes/<out>.css) never reached a settings window parked there, and dragging the window between monitors never re-rendered. Watch the generated-theme dir recursively and re-render when the shared sheet or *this monitor's* per-output files change; add a WindowEvent::Moved handler that re-renders when the window lands on a different monitor. |
||
|---|---|---|
| .forgejo/workflows | ||
| frontend | ||
| packaging | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| bakery.toml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
bos-settings
System settings app for BOS (Bread Operating System) — Tauri 2 + Svelte 5. Configures every bread* app's config plus core system settings (network, sound, power, users, firewall, snapshots, packages, AUR, firmware, Hyprland display/appearance/autostart) non-destructively.
Distributed via bakery. There is one long-lived branch, main; see CONTRIBUTING.md for the single-trunk / RC-tag release model shared across the bread ecosystem.
Building
The Svelte frontend lives in frontend/, the Rust backend in src/ (this repo's crate is not named src-tauri). cargo tauri build runs the frontend build hook; a plain cargo build does not.
cd frontend && npm ci && npm run build
cd ../src && cargo build --release
Dev (Vite + cargo tauri dev):
cd src && cargo tauri dev
Packaging / releasing
Bump src/Cargo.toml (and frontend/package.json) version, then follow CONTRIBUTING.md: work lands on main via feature/ / fix/ branches (every push to main publishes a bakery dev build). Tag vX.Y.Z-rc.N for beta, vX.Y.Z for the signed stable release. Do not push to a dev branch — there isn't one.