From da7cc5648b9f9b663dca659cd288426965dc6537 Mon Sep 17 00:00:00 2001 From: A042 Date: Mon, 13 Jul 2026 00:28:56 +0200 Subject: [PATCH] fix: use sleep_monitor/wakeup_monitor for DPMS to preserve monitor layout (#2842) Since Mango v0.15.0, disable_monitor sets only_sleep=0 which removes the output from the layout entirely. On NVIDIA (proprietary driver), the DRM handshake fails on re-enable, leaving a black screen recoverable only via TTY switch. sleep_monitor/wakeup_monitor set only_sleep=1, keeping the output in the layout while powered off. This matches the pre-v0.15 behavior and fixes DPMS wake on NVIDIA. These commands are available since Mango v0.15.0 (commit b0326d7). --- quickshell/Services/MangoService.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickshell/Services/MangoService.qml b/quickshell/Services/MangoService.qml index 3696611e3..2c9f004ab 100644 --- a/quickshell/Services/MangoService.qml +++ b/quickshell/Services/MangoService.qml @@ -469,7 +469,7 @@ Singleton { const screens = Quickshell.screens || []; for (let i = 0; i < screens.length; i++) { if (screens[i] && screens[i].name) - Quickshell.execDetached(["mmsg", "dispatch", "disable_monitor," + screens[i].name]); + Quickshell.execDetached(["mmsg", "dispatch", "sleep_monitor," + screens[i].name]); } } @@ -477,7 +477,7 @@ Singleton { const screens = Quickshell.screens || []; for (let i = 0; i < screens.length; i++) { if (screens[i] && screens[i].name) - Quickshell.execDetached(["mmsg", "dispatch", "enable_monitor," + screens[i].name]); + Quickshell.execDetached(["mmsg", "dispatch", "wakeup_monitor," + screens[i].name]); } }