GTK4 control panel for BOS (Bread Operating System)
Wallpaper: file picker moved off the deprecated FileChooserDialog to gtk4::FileDialog, plus a "Browse ~/Pictures/Backgrounds" thumbnail grid (recursive scan, decoded previews) so picking a wallpaper isn't guessing blind from filenames. Fixed the app becoming unusable at Hyprland scale > 1.0: the sidebar's ~30-row nav list had no ScrolledWindow, so its unscrollable minimum height exceeded the logical screen size once scale shrank it below ~1000px, clipping the window (Save buttons included) with no way to reach the rest. Sidebar now scrolls independently; content column's minimum width also dropped 760->560 for the same reason at scale 2.0. Wi-Fi/saved-network password fields had no way to unhide what you typed. Swapped every masked Entry (network.rs, breadcrumbs.rs, and the shared password_row widget) to gtk4::PasswordEntry, which has a native reveal-icon toggle. Added a Keybinds editor for hypr/binds.json -- the one JSON Hyprland config (globals/common/per-layout binds) with no GUI anywhere in the app, despite Display/Appearance/Startup Apps all having one for their own JSON config. Action-specific fields (command/direction/workspace/ options/...) round-trip through a compact inline-JSON column rather than hardcoding a widget per action shape. |
||
|---|---|---|
| .forgejo/workflows | ||
| packaging | ||
| src | ||
| .gitignore | ||
| bakery.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
bos-settings
System settings app for BOS (Bread Operating System) — GTK4, 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.
Split out of the bos repo into its own repo so a bos-settings release doesn't require a BOS ISO release, and vice versa. Still the only pacman-packaged (not bakery-managed) bread app — see packaging/README.md.
Building
cargo build --release
Packaging / releasing
See packaging/README.md. In short: bump Cargo.toml's version, tag vX.Y.Z, push the tag to both remotes — .forgejo/workflows/package.yml builds and publishes to the [breadway] pacman repo automatically.