From bd96ec0361bddf4ddd559c485f13fa8d6fa29a62 Mon Sep 17 00:00:00 2001 From: Sho Date: Sun, 2 Aug 2026 16:21:18 +0900 Subject: [PATCH] feat(lockscreen): apply MultiEffect GPU Gaussian blur to current wallpaper background in LockscreenWindow.qml --- .../modules/lockscreen/LockscreenWindow.qml | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/quickshell/modules/lockscreen/LockscreenWindow.qml b/quickshell/modules/lockscreen/LockscreenWindow.qml index b25102a..6021f7c 100644 --- a/quickshell/modules/lockscreen/LockscreenWindow.qml +++ b/quickshell/modules/lockscreen/LockscreenWindow.qml @@ -1,4 +1,5 @@ import QtQuick +import QtQuick.Effects import Quickshell import Quickshell.Wayland import "../../theme" @@ -21,25 +22,36 @@ PanelWindow { visible: LockscreenService.isLocked color: "black" - // Background System Wallpaper + // Raw System Wallpaper (Hidden source item for MultiEffect blur) Image { + id: bgImage anchors.fill: parent source: WallpaperService.currentWallpaper fillMode: Image.PreserveAspectCrop - opacity: 0.65 + visible: false Behavior on source { PropertyAnimation { duration: 300 } } } + // Blurred Background of the current system wallpaper + MultiEffect { + anchors.fill: parent + source: bgImage + blurEnabled: true + blur: 1.0 + blurMax: 64 + opacity: 0.85 + } + // Glass Dark Backdrop Overlay with Gradient Rectangle { anchors.fill: parent gradient: Gradient { - GradientStop { position: 0.0; color: Theme.isDark ? Qt.rgba(15/255, 15/255, 25/255, 0.82) : Qt.rgba(20/255, 20/255, 30/255, 0.70) } - GradientStop { position: 0.5; color: Theme.isDark ? Qt.rgba(20/255, 20/255, 32/255, 0.88) : Qt.rgba(25/255, 25/255, 38/255, 0.78) } - GradientStop { position: 1.0; color: Theme.isDark ? Qt.rgba(10/255, 10/255, 18/255, 0.92) : Qt.rgba(15/255, 15/255, 25/255, 0.85) } + GradientStop { position: 0.0; color: Theme.isDark ? Qt.rgba(15/255, 15/255, 25/255, 0.45) : Qt.rgba(20/255, 20/255, 30/255, 0.35) } + GradientStop { position: 0.5; color: Theme.isDark ? Qt.rgba(20/255, 20/255, 32/255, 0.55) : Qt.rgba(25/255, 25/255, 38/255, 0.45) } + GradientStop { position: 1.0; color: Theme.isDark ? Qt.rgba(10/255, 10/255, 18/255, 0.65) : Qt.rgba(15/255, 15/255, 25/255, 0.55) } } }