pre-capture lock screen screenshots via hidden window and ScreenshotService

This commit is contained in:
Damocles 2026-04-18 12:32:55 +02:00
parent 62cd0f9a76
commit 73e480d14b
7 changed files with 129 additions and 10 deletions

View file

@ -15,15 +15,16 @@ WlSessionLockSurface {
property real _unlockFade: 1
// Clear desktop screenshot - visible immediately
ScreencopyView {
// Clear desktop screenshot from ScreenshotService - visible immediately
Image {
anchors.fill: parent
captureSource: root.screen
visible: S.Modules.lock.screenshot ?? true
source: S.ScreenshotService.get(root.screen?.name ?? "")
visible: (S.Modules.lock.screenshot ?? true) && source !== ""
opacity: _unlockFade
fillMode: Image.PreserveAspectCrop
}
// Overlay group: blur + dim + hexes, revealed per-pixel by wave position
// Overlay group: blur + hexes, revealed per-pixel by wave position
Item {
id: _overlay
anchors.fill: parent
@ -47,10 +48,11 @@ WlSessionLockSurface {
}
// Blurred screenshot
ScreencopyView {
Image {
anchors.fill: parent
captureSource: root.screen
visible: S.Modules.lock.screenshot ?? true
source: S.ScreenshotService.get(root.screen?.name ?? "")
visible: (S.Modules.lock.screenshot ?? true) && source !== ""
fillMode: Image.PreserveAspectCrop
layer.enabled: true
layer.effect: MultiEffect {