GTK4 control panel for BOS (Bread Operating System)
Find a file
Breadway bfb78fd6f5 appearance: per-monitor wallpaper + a shell-theme picker
Wallpaper (Breadpaper.svelte) becomes monitor-aware: with more than one
output connected it shows a 'use the same wallpaper on every monitor'
switch; turning it off reveals per-output chips and routes 'Choose image'
/ library picks through 'breadpaper --output <NAME> set', which
regenerates only that monitor's pywal palette. Single-monitor behaviour
is unchanged. Backend: get_wallpapers_by_output (reads breadpaper's
current.json) + set_wallpaper_on.

New 'Shell theme' tab: lists bread_theme:🐚:list() (liquid-motion,
glass-workbench, spotlight, daylight) and writes ~/.config/bread/shell.toml
'active =' non-destructively via toml_edit. This is a single global
selector — per-monitor differences come from the wallpaper/palette, not
the shell theme. breadbar/breadbox don't hot-reload the change today, so
the tab is explicit that it applies on restart/login and offers a
'Restart bar & launcher' button (setsid -f, so it leaves no zombies).

bread-theme bumped v0.7.4 -> v0.7.5 for shell::list().
2026-09-02 09:31:20 +08:00
.forgejo/workflows CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered 2026-07-31 11:05:29 +08:00
frontend appearance: per-monitor wallpaper + a shell-theme picker 2026-09-02 09:31:20 +08:00
packaging Drop pacman packaging, bakery-only; fix broken Tauri build path in CI 2026-07-23 10:43:23 +08:00
src appearance: per-monitor wallpaper + a shell-theme picker 2026-09-02 09:31:20 +08:00
.gitignore gitignore untracked .freebuff/ and graphify-out/ local tool state 2026-08-31 16:04:02 +08:00
AGENTS.md Use Arch package name webkit2gtk-4.1; track AGENTS.md 2026-08-15 22:03:30 +08:00
bakery.toml Use Arch package name webkit2gtk-4.1; track AGENTS.md 2026-08-15 22:03:30 +08:00
CONTRIBUTING.md CONTRIBUTING.md: document single-trunk + RC-tag release model 2026-07-31 11:08:41 +08:00
LICENSE Extract bos-settings into its own repo; add Appearance/Startup Apps/Display editors 2026-07-04 23:31:18 +08:00
README.md Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00

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.