Files
DankMaterialShell/quickshell/Modules/Lock/LockScreenDemo.qml
T

61 lines
1.5 KiB
QML

pragma ComponentBehavior: Bound
import QtQuick
import Quickshell
import Quickshell.Wayland
import qs.Services
Scope {
id: root
readonly property var log: Log.scoped("LockScreenDemo")
property bool demoActive: false
property bool greeterPreview: false
function showDemo(greeter = false): void {
log.debug("Showing lock screen demo", greeter ? "(greeter)" : "");
greeterPreview = greeter;
demoActive = true;
}
function hideDemo(): void {
log.debug("Hiding lock screen demo");
demoActive = false;
}
Variants {
model: root.demoActive ? Quickshell.screens : []
PanelWindow {
id: demoWindow
required property var modelData
screen: modelData
visible: true
anchors {
top: true
bottom: true
left: true
right: true
}
WlrLayershell.namespace: "dms:lock-demo"
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
color: "transparent"
LockScreenContent {
anchors.fill: parent
demoMode: true
greeterPreview: root.greeterPreview
screenName: demoWindow.screen?.name ?? ""
onUnlockRequested: root.hideDemo()
}
}
}
}