1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 21:45:38 -05:00

lockscreen: implement

This commit is contained in:
bbedward
2025-07-24 14:56:58 -04:00
parent 71be8bdeec
commit 8bcac36be3
9 changed files with 1133 additions and 74 deletions

58
Modules/Lock/Lock.qml Normal file
View File

@@ -0,0 +1,58 @@
pragma ComponentBehavior: Bound
import QtQuick
import Quickshell
import Quickshell.Io
import Quickshell.Wayland
import qs.Common
Item {
id: root
function activate() {
loader.activeAsync = true
}
LazyLoader {
id: loader
WlSessionLock {
id: lock
property bool unlocked: false
locked: true
onLockedChanged: {
if (!locked)
loader.active = false
}
LockSurface {
lock: lock
}
}
}
LockScreenDemo {
id: demoWindow
}
IpcHandler {
target: "lock"
function lock(): void {
console.log("Lock screen requested via IPC")
loader.activeAsync = true
}
function demo(): void {
console.log("Lock screen DEMO mode requested via IPC")
demoWindow.showDemo()
}
function isLocked(): bool {
return loader.active
}
}
}