diff --git a/quickshell/Modals/Common/DankModalStandalone.qml b/quickshell/Modals/Common/DankModalStandalone.qml index 75efc8b4..0e96b511 100644 --- a/quickshell/Modals/Common/DankModalStandalone.qml +++ b/quickshell/Modals/Common/DankModalStandalone.qml @@ -242,10 +242,11 @@ Item { WindowBlur { targetWindow: contentWindow readonly property real s: Math.min(1, modalContainer.scaleValue) - blurX: modalContainer.x + modalContainer.width * (1 - s) * 0.5 + Theme.snap(modalContainer.animX, root.dpr) - blurY: modalContainer.y + modalContainer.height * (1 - s) * 0.5 + Theme.snap(modalContainer.animY, root.dpr) - blurWidth: shouldBeVisible ? modalContainer.width * s : 0 - blurHeight: shouldBeVisible ? modalContainer.height * s : 0 + readonly property real op: Math.max(0, Math.min(1, (morph.openProgress - 0.06) * 2)) + blurX: modalContainer.x + modalContainer.width * (1 - s * op) * 0.5 + Theme.snap(modalContainer.animX, root.dpr) + blurY: modalContainer.y + modalContainer.height * (1 - s * op) * 0.5 + Theme.snap(modalContainer.animY, root.dpr) + blurWidth: root.shouldBeVisible ? modalContainer.width * s * op : 0 + blurHeight: root.shouldBeVisible ? modalContainer.height * s * op : 0 blurRadius: root.cornerRadius } diff --git a/quickshell/Modals/DankLauncherV2/DankLauncherV2ModalStandalone.qml b/quickshell/Modals/DankLauncherV2/DankLauncherV2ModalStandalone.qml index 9355d5a4..a9c2192e 100644 --- a/quickshell/Modals/DankLauncherV2/DankLauncherV2ModalStandalone.qml +++ b/quickshell/Modals/DankLauncherV2/DankLauncherV2ModalStandalone.qml @@ -369,10 +369,11 @@ Item { WindowBlur { targetWindow: launcherWindow readonly property real s: Math.min(1, modalContainer.publishedScale) - blurX: modalContainer.x + modalContainer.width * (1 - s) * 0.5 - blurY: modalContainer.y + modalContainer.height * (1 - s) * 0.5 - blurWidth: contentVisible ? modalContainer.width * s : 0 - blurHeight: contentVisible ? modalContainer.height * s : 0 + readonly property real op: Math.max(0, Math.min(1, (modalContainer.opacity - 0.06) * 2)) + blurX: modalContainer.x + modalContainer.width * (1 - s * op) * 0.5 + blurY: modalContainer.y + modalContainer.height * (1 - s * op) * 0.5 + blurWidth: contentVisible ? modalContainer.width * s * op : 0 + blurHeight: contentVisible ? modalContainer.height * s * op : 0 blurRadius: root.cornerRadius } diff --git a/quickshell/Widgets/DankPopoutStandalone.qml b/quickshell/Widgets/DankPopoutStandalone.qml index 5ca7a0a5..34ac62e2 100644 --- a/quickshell/Widgets/DankPopoutStandalone.qml +++ b/quickshell/Widgets/DankPopoutStandalone.qml @@ -572,12 +572,13 @@ Item { targetWindow: contentWindow readonly property real s: Math.min(1, contentContainer.scaleValue) readonly property bool trackBlurFromBarEdge: root.fluidStandaloneActive + readonly property real op: Math.max(0, Math.min(1, (morph.openProgress - 0.08) * 1.6)) readonly property bool blurAlive: trackBlurFromBarEdge ? (contentContainer.revealWidth > 0 && contentContainer.revealHeight > 0) : root.shouldBeVisible - blurX: trackBlurFromBarEdge ? contentContainer.x + contentContainer.revealX : contentContainer.x + contentContainer.width * (1 - s) * 0.5 + Theme.snap(contentContainer.animX, root.dpr) - blurY: trackBlurFromBarEdge ? contentContainer.y + contentContainer.revealY : contentContainer.y + contentContainer.height * (1 - s) * 0.5 + Theme.snap(contentContainer.animY, root.dpr) - blurWidth: blurAlive ? (trackBlurFromBarEdge ? contentContainer.revealWidth : contentContainer.width * s) : 0 - blurHeight: blurAlive ? (trackBlurFromBarEdge ? contentContainer.revealHeight : contentContainer.height * s) : 0 + blurX: trackBlurFromBarEdge ? contentContainer.x + contentContainer.revealX : contentContainer.x + contentContainer.width * (1 - s * op) * 0.5 + Theme.snap(contentContainer.animX, root.dpr) + blurY: trackBlurFromBarEdge ? contentContainer.y + contentContainer.revealY : contentContainer.y + contentContainer.height * (1 - s * op) * 0.5 + Theme.snap(contentContainer.animY, root.dpr) + blurWidth: blurAlive ? (trackBlurFromBarEdge ? contentContainer.revealWidth : contentContainer.width * s * op) : 0 + blurHeight: blurAlive ? (trackBlurFromBarEdge ? contentContainer.revealHeight : contentContainer.height * s * op) : 0 blurRadius: Theme.cornerRadius }