add lock.screenshot option to disable blurred desktop background

This commit is contained in:
Damocles 2026-04-17 22:46:32 +02:00
parent 74967d798c
commit 5a5bbc5811
4 changed files with 20 additions and 27 deletions

View file

@ -15,12 +15,19 @@ WlSessionLockSurface {
color: M.Theme.base00
property real _bgOpacity: 0
NumberAnimation on _bgOpacity {
to: 1
duration: 400
easing.type: Easing.OutCubic
}
// Blur screenshot of desktop as background
ScreencopyView {
id: background
anchors.fill: parent
captureSource: root.screen
opacity: 0
opacity: root._bgOpacity
visible: M.Modules.lock.screenshot ?? true
layer.enabled: true
layer.effect: MultiEffect {
@ -29,19 +36,13 @@ WlSessionLockSurface {
blur: 1
blurMax: 64
}
NumberAnimation on opacity {
to: 1
duration: 400
easing.type: Easing.OutCubic
}
}
// Dim overlay
Rectangle {
anchors.fill: parent
color: Qt.rgba(M.Theme.base00.r, M.Theme.base00.g, M.Theme.base00.b, 0.4)
opacity: background.opacity
opacity: root._bgOpacity
}
// Hex wave overlay
@ -49,15 +50,7 @@ WlSessionLockSurface {
id: hexWave
anchors.fill: parent
running: root.lock.secure
opacity: background.opacity * 0.4
NumberAnimation on opacity {
id: _hexFadeIn
running: false
to: 0.4
duration: 600
easing.type: Easing.OutCubic
}
opacity: root._bgOpacity * 0.4
}
// Keyboard input via TextInput - engages Qt's full input pipeline including
@ -300,15 +293,8 @@ WlSessionLockSurface {
easing.type: Easing.InCubic
}
NumberAnimation {
target: background
property: "opacity"
to: 0
duration: 300
easing.type: Easing.InCubic
}
NumberAnimation {
target: hexWave
property: "opacity"
target: root
property: "_bgOpacity"
to: 0
duration: 300
easing.type: Easing.InCubic