-
-
Notifications
You must be signed in to change notification settings - Fork 405
feat(display): persist monitor settings to compositor config on confirm #2344
Copy link
Copy link
Open
Description
Summary
PR #2330 adds excellent display configuration management (scale, mode, refresh rate, VRR, transform, position) but changes are only applied at runtime via compositor IPC commands (niri msg, hyprctl, swaymsg). Settings are lost on logout/reboot since they are never written to the compositor's config file.
Current behavior
- User changes scale/mode/VRR in Settings > Display > Monitor
- Changes are applied via runtime commands (e.g.
niri msg output eDP-1 scale 1.5) - Confirmation dialog appears → user clicks "Keep"
- On reboot, compositor loads its config file with the old values → settings lost
Expected behavior
When the user confirms display changes ("Keep"), the settings should be persisted to the compositor's config file so they survive reboot.
Suggested approach
On confirmChange(), write the confirmed targetConfig to the compositor's config:
- Niri: generate
outputblocks in~/.config/niri/config.kdl(or modularcfg/display.kdlif present) - Hyprland: update
monitorlines inhyprland.conf - Sway: update
outputlines in sway config
A reference implementation for niri using a Python helper script is available — happy to open a PR if there's interest.
Environment
- Noctalia Shell: v4.7.1 + PR feat(display): add display configuration management #2330
- Compositor: niri
- OS: CachyOS (Arch-based)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels