fix(displays): write mirror sources first in the login include #83
No reviewers
Labels
No labels
breadbug
bug
displays
enhancement
keybinds
network
phase-1
power
privacy
recovery
search
snapshots
sound
ui
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/bos-settings!83
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/bset-68-persist-mirror-order"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes BSET-68
What
persist_layoutwrote onehl.monitorper output intobos-settings-display-overrides.luain the order it was given. The live apply (display_guard::plan_statements, from #67) already orders mirror sources before their mirrors. A layout handed in mirror-first was therefore saved mirror-first, so login could configure a mirror before the output it follows.Both paths now use
plan_statements, through a smalloverrides_lua()helper.Tests
login_include_puts_mirror_sources_first. It uses the real monitors-all fixture with DVI-I-1 (mirror of eDP-1) moved first, and asserts that eDP-1 is written before DVI-I-1. The test fails on the old code.Capability changes
None. The saved statements are the same, possibly in a different order.
Confidence note from the issue: it is unverified whether Hyprland actually needs the source first at login. This change makes the saved file match the order the live apply already uses.
Review verdict: PASS for BSET-68 at exact head
d35f130370(base maind432319ac5).Criteria
Checks run in a detached scratch worktree on the exact head
d35f130(run 167, 4m8s).Note: whether Hyprland needs the source first at login is unverified live, as the issue itself states. This change aligns the saved file with the live-apply order.
Merged with a merge commit at
a80bdf3660(headd35f130370onto base283ba6b20e). The base moved three times during review; each time I re-ran frontend check/test/build and cargo fmt/clippy/test on the head merged with the new base (183 tests passing). Awaiting verification on the integrated commit.