When i run hyprctl keyword monitor 'eDP-1, disable' it disables my laptop monitor for a sec and immediately enables it back with that ‘phantom monitor’ with empty desktop except the wallpaper. Essentially i can’t even disable my laptop monitor at all right now via this hyprctl command without completely breaking hyprland and needing to kill it. Issue appeared NOT with latest upgrade to v0.50. Disabling external monitor with that command works, problem only touches laptop monitor.
Similar issue that yields same results was brought up on discord by ‘jficz’:
so, I’ve got this ghost / phantom monitor issue - after sleep, when disconnected from the dock, sometimes the connected monitor remains present in hyprctl monitors (as DP-4, ID n) and after reconnecting, another monitor appears as DP-4 (ID n+1) but it is the same monitor. This breaks rendering as the original (now phantom) monitor remains in use by Hyprland but the new actual monitor is somehow “drawn over” it - the symptom is that the desktop is completely empty (except background) but the cursor shape changes according to whatever is (probably) “displayed” on the phantom monitor. hyprctl keyword monitor 'DP-4,disable' does nothing (apparent). Checking /sys/class/drm , the DP-4 device disappears when the monitor disconnects and there is no indication of multiple monitors there when it is reconnected again,
So should i just echo that ‘disable’ line to my config and make a keybind ? is there no other way to maybe fix that thing at the moment ? Ping me if i can provide any additional logs please, thank you.
then after i press that binding monitors gets disabled for like 1-2 sec and then turns back on with that ‘phantom’ monitor that is unable to display anything but background.
BUT
if in config i have monitor = eDP-1, highrr, 0x0, $display_scale than this binding works just fine