Emit bread.lock.locked when ext-session-lock-v1 is accepted and
bread.lock.unlocked after PAM success. Fail-silent if breadd is down.
No command verbs (no pin/blur stubs). breadgreet is not on the bus.
Note that Forgejo Arch registry packages are unsigned (SigLevel=Never
on BOS) without changing the package.yml registry.
Point workspace bread-theme at git.breadway.dev tag v0.7.1 (gtk feature stays
on breadgreet). README no longer claims BOS ships tuigreet or that Super+L
is unimplemented. CONTRIBUTING records the single-trunk, pacman-only model;
there is still no bakery.toml.
- main.rs: dispatch-loop errors no longer silently exit; bounded retry with
loud logging, and explicitly never call unlock() on an error path (would
turn a fail-secure crash into a fail-open one)
- Cargo.toml/state.rs/keyboard.rs/auth/*: password buffer is now
Zeroizing<String>, with explicit zero-then-truncate on backspace and
zeroize on clear/submit; also zeroes pam-client2's internal Conversation
copy after use
- state.rs/main.rs: new AuthState::ConfigError, distinct on-screen message
and error!-level log for PAM context-init failures vs ordinary wrong
password
- lock/surface.rs/state.rs: LockSurface now tracks its wl_output so
output_destroyed can remove it, fixing the surfaces Vec leak on
monitor unplug
- input/keyboard.rs: bind the keyboard via get_keyboard_with_repeat so
held keys (e.g. backspace) actually repeat, regardless of whether the
compositor implements server-side wl_keyboard repeat
Pulls the fix for panels turning brown/off-hue when pywal extracts a light
or muddy background from the wallpaper — background/surface now stay BOS's
fixed dark constants regardless of what the wallpaper looks like.