From 11287459c3abc23c74de86adccb2ab0bc536e464 Mon Sep 17 00:00:00 2001 From: Connor Welsh Date: Sun, 2 Aug 2026 01:30:21 -0400 Subject: [PATCH] popout: re-apply surface geometry after shouldBeVisible (#2983) Popouts sized from their content sometimes open too short and clip what they render, then come back correct on the next open. open() snapshots the surface geometry before setting shouldBeVisible, and the onAligned{X,Y,Width,Height}Changed handlers are all gated on that flag. Mapping contentWindow happens in between, and that's what finally runs the layout Qt deferred while the window was hidden. Content-sized popouts pick up their real height in that gap, so the correction is dropped and the surface stays short. Re-snapshot once the flag is set. --- quickshell/Widgets/DankPopoutStandalone.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/quickshell/Widgets/DankPopoutStandalone.qml b/quickshell/Widgets/DankPopoutStandalone.qml index 1c98270bd..8a3dee86a 100644 --- a/quickshell/Widgets/DankPopoutStandalone.qml +++ b/quickshell/Widgets/DankPopoutStandalone.qml @@ -379,6 +379,9 @@ Item { animationsEnabled = true; shouldBeVisible = true; + // Content-sized popouts lay out when contentWindow maps, while the geometry + // handlers are still gated off. Re-snapshot so the surface isn't left short. + _setSettledSurfaceGeometry(); if (screen) { PopoutManager.showPopout(popoutHandle); opened();