From bf238640af8d6c12ecd0d352677bf681b422c1dd Mon Sep 17 00:00:00 2001 From: xdenotte <73490483+xdenotte@users.noreply.github.com> Date: Tue, 30 Sep 2025 22:42:39 +0200 Subject: [PATCH] fix(popouts): disable layer compositing and scale to keep text sharp at 1.25 (#277) --- Widgets/DankPopout.qml | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/Widgets/DankPopout.qml b/Widgets/DankPopout.qml index 0bd44484..84c47d35 100644 --- a/Widgets/DankPopout.qml +++ b/Widgets/DankPopout.qml @@ -57,16 +57,8 @@ PanelWindow { } color: "transparent" - WlrLayershell.layer: WlrLayershell.Top // if set to overlay -> virtual keyboards can be stuck under popup + WlrLayershell.layer: WlrLayershell.Top WlrLayershell.exclusiveZone: -1 - - // WlrLayershell.keyboardFocus should be set to Exclusive, - // if popup contains input fields and does NOT create new popups/modals - // with input fields. - // With OnDemand virtual keyboards can't send input to popup - // If set to Exclusive AND this popup creates other popups, that also have - // input fields -> they can't get keyboard focus, because the parent popup - // already took the lock WlrLayershell.keyboardFocus: shouldBeVisible ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None anchors { @@ -90,7 +82,7 @@ PanelWindow { Item { id: contentContainer - layer.enabled: true + layer.enabled: false readonly property real screenWidth: root.screen ? root.screen.width : 1920 readonly property real screenHeight: root.screen ? root.screen.height : 1080 @@ -116,12 +108,12 @@ PanelWindow { } } - width: popupWidth - height: popupHeight - x: calculatedX - y: calculatedY + width: Math.round(popupWidth) + height: Math.round(popupHeight) + x: Math.round(calculatedX) + y: Math.round(calculatedY) opacity: shouldBeVisible ? 1 : 0 - scale: shouldBeVisible ? 1 : 0.9 + scale: 1 Behavior on opacity { NumberAnimation { @@ -130,12 +122,7 @@ PanelWindow { } } - Behavior on scale { - NumberAnimation { - duration: animationDuration - easing.type: animationEasing - } - } + Loader { id: contentLoader