feat(lockscreen): apply MultiEffect GPU Gaussian blur to current wallpaper background in LockscreenWindow.qml

This commit is contained in:
Sho 2026-08-02 16:21:18 +09:00
parent 2e54d3556b
commit bd96ec0361

View File

@ -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) }
}
}