#16133
Display panel re-enables a monitor at "preferred" mode, ignoring monitors.lua (drops 144/240 Hz to 60 Hz)
What happened
Toggling a monitor off and back on in the Display panel (Super+Ctrl+D) re-enables it with
hl.monitor({ output = ..., disabled = false, mode = "preferred", position = "auto", scale = "auto" })
(shell/plugins/panels/monitor/Panel.qml, toggleDisplay). The user's rule in ~/.config/hypr/monitors.lua is not re-applied, so:
- refresh rate falls back to the EDID preferred mode (60 Hz on both of my monitors, configured for 144 and 240 Hz)
- position and scale fall back to auto, so the layout changes (portrait monitor moved from 1920x0 to 0x0)
Expected Re-enabling a monitor restores its configured rule from monitors.lua, or at least keeps the mode, position, scale and transform it had before it was disabled.
Steps to reproduce
- Configure a monitor in monitors.lua with a non-preferred mode, e.g.
mode = "1920x1080@144", and a fixed position. - Open the Display panel (Super+Ctrl+D), toggle that monitor off, then on.
hyprctl monitorsshows the monitor at @60 with an auto position.hyprctl reloadrestores the configured mode.
System
- Omarchy 4.0.6-1, Hyprland 0.56.2 (Lua config)
- NVIDIA RTX 3060 Ti; ASUS XG27VQ (DP, 144 Hz) + ASUS VG279QM (HDMI, 240 Hz, transform 1)
Possible fix
After disabled = false, run hyprctl reload (or re-evaluate the user's monitor rule for that output) instead of hard-coding preferred/auto.
Activity
0No activity yet.