Commit graph

7 commits

Author SHA1 Message Date
Breadway
d98b5b4fad Share ~/.config/hypr/monitors.json with the BOS Display panel
Some checks failed
dev release / build (push) Failing after 0s
Read the file as the initial layout on start. After a successful
hyprctl apply (including applying a named profile), write pretty
JSON so Hyprland and bos-settings stay in sync. Profiles remain
named snapshots under ~/.config/breadmon/profiles/.

Pin bread-utils to bread-ecosystem v0.7.2.
2026-08-15 22:53:28 +08:00
Breadway
aec2fa5290 Wire breadmon into the bread event fabric (app id mon)
Some checks failed
check / check (push) Failing after 1s
dev release / build (push) Failing after 1s
After a successful hyprctl apply, publish bread.mon.applied
{ "profile": <string or null> }. BreadClient is fail-silent: if
breadd is down, apply behaves exactly as before.

Document the contract in EVENTS.md.
2026-08-15 22:16:36 +08:00
Breadway
20d4825cf0 deps: pin bread-utils to bread-ecosystem v0.7.1
Some checks failed
check / check (push) Failing after 1s
Replace the old `bread modules install` docs with `bakery install breadmon`.
Spell out that `hyprctl eval 'hl.monitor({...})'` is BOS-patched Hyprland
only, and that breadmon is not the bos-settings Display panel (which edits
monitors.json).
2026-08-15 21:35:35 +08:00
Breadway
a69458947b Switch to tag-pinned bread-ecosystem deps; bump version to v0.1.2
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
release / build (push) Successful in 27s
2026-07-19 03:52:45 +08:00
Breadway
13863836bc Migrate socket2 path resolution to bread-utils::hypr
hyprland_socket2_path() duplicated the same HYPRLAND_INSTANCE_SIGNATURE +
XDG_RUNTIME_DIR resolution breadbox and breadclip had for socket1 — now
shared via bread_utils::hypr::socket_path (path dependency for now, see
the TODO in Cargo.toml).

Builds and all 16 existing tests pass.
2026-07-17 09:26:00 +08:00
Breadway
ddbc9e63d3 breadmon: clear error for missing BOS hyprctl eval extension, doc, version fix
- apply_monitors() shells out to `hyprctl eval` with a `hl.monitor()`
  Lua call, a BOS-only Hyprland extension. On vanilla Hyprland the
  eval request itself isn't recognized and failed with a confusing
  raw hyprctl response. Detect that case and fail with an explicit
  'this feature requires BOS' message instead, with tests.
- README: documented the BOS dependency for the apply step under
  Requirements; noted everything else in the TUI works without it.
- Cargo.toml: 0.1.0 -> 0.1.1, matching the latest tag (v0.1.1).
2026-07-17 03:22:52 +08:00
Breadway
c5136331b4 Initial commit 2026-07-02 20:59:16 +08:00