From b0fea51132e6a59017bd64cb0d0320d4c553ff94 Mon Sep 17 00:00:00 2001 From: bbedward Date: Mon, 26 Oct 2026 13:59:11 -0400 Subject: [PATCH] compositor: prefer live wlr-output scale over the startup randr snapshot port 2.0 --- quickshell/Services/CompositorService.qml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/quickshell/Services/CompositorService.qml b/quickshell/Services/CompositorService.qml index 94b78b5e2..e819f967d 100644 --- a/quickshell/Services/CompositorService.qml +++ b/quickshell/Services/CompositorService.qml @@ -346,17 +346,18 @@ Singleton { return screen.devicePixelRatio || 1; } - const randrScale = randrScales[screen.name]; - if (randrScale !== undefined && randrScale > 0) - return fractionalScale(randrScale); - - if (WlrOutputService.wlrOutputAvailable && screen) { + // Live wlr-output state outranks the one-shot randr snapshot so scale changes propagate + if (WlrOutputService.wlrOutputAvailable) { const wlrOutput = WlrOutputService.getOutput(screen.name); if (wlrOutput?.enabled && wlrOutput.scale !== undefined && wlrOutput.scale > 0) { return fractionalScale(wlrOutput.scale); } } + const randrScale = randrScales[screen.name]; + if (randrScale !== undefined && randrScale > 0) + return fractionalScale(randrScale); + if (isNiri && screen) { const niriScale = NiriService.displayScales[screen.name]; if (niriScale !== undefined)