Files
Aurora/config/aurora/modules/Lock.qml
2026-04-09 11:16:48 -05:00

109 lines
2.4 KiB
QML

import Quickshell // for PanelWindow
import QtQuick // for Text
import QtQuick.Shapes
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell.Io
import Quickshell.Widgets
import Quickshell.Wayland
import Quickshell.Hyprland
import Quickshell.Services.Pam
Item {
id: root
property bool locked: false
onLockedChanged: {
lock.locked = locked
}
required property string bg_path
property color fieldColor: ctx.failed ? Settings.colors.color6 : Settings.colors.color1
IpcHandler {
target: "lockscreen"
function lock() { root.locked = true; }
function unlock() { root.locked = false; }
}
LockCtx {
id: ctx
onShouldUnlock: lock.locked = false
}
LockScreen {
id: lockscreen
visible: root.locked
}
WlSessionLock {
id: lock
locked: root.locked
onLockedChanged: {
root.locked = locked
}
WlSessionLockSurface {
color: "transparent"
/*Image {
anchors.fill: parent
source: Qt.resolvedUrl(bg_path)
}*/
ClippingWrapperRectangle {
anchors.centerIn: parent
radius: 10
color: Settings.special.background
RowLayout {
ClippingWrapperRectangle {
color: root.fieldColor
implicitWidth: 200
TextInput {
text: ""
onTextChanged: {
ctx.pass = text
}
echoMode: TextInput.Password
horizontalAlignment: TextInput.AlignHCenter
verticalAlignment: TextInput.AlignVCenter
font.pointSize: 30
color: Settings.special.foreground
}
}
Button {
text: "unlock"
onClicked: {
ctx.doUnlock()
}
}
Button {
text: "exit"
onClicked: root.locked = false
}
}
}
}
}
}