diff --git a/config/aurora/modules/BarTop.qml b/config/aurora/modules/BarTop.qml index de45da5..1e2570e 100644 --- a/config/aurora/modules/BarTop.qml +++ b/config/aurora/modules/BarTop.qml @@ -45,7 +45,7 @@ ColumnLayout { property Item midFO: midFO - VFlyout { + VFlyoutDown { id: midFO radius: root.radius diff --git a/config/aurora/modules/Dashboard.qml b/config/aurora/modules/Dashboard.qml index 71cc3f2..2c83c90 100644 --- a/config/aurora/modules/Dashboard.qml +++ b/config/aurora/modules/Dashboard.qml @@ -24,7 +24,7 @@ Item { property int selected: 0 - VFlyout { + VFlyoutDown { visible: root.visible diff --git a/config/aurora/modules/Lock.qml b/config/aurora/modules/Lock.qml index db531f8..c9b765b 100644 --- a/config/aurora/modules/Lock.qml +++ b/config/aurora/modules/Lock.qml @@ -15,14 +15,23 @@ Item { property bool locked: false + onLockedChanged: lock.locked = locked + required property string bg_path - required property LockCtx ctx + property color fieldColor: ctx.failed ? "red" : Pywal.colors.color1 + + IpcHandler { + target: "lockscreen" + + function lock() { lock.locked = true; } + function unlock() { lock.locked = false; } + } LockCtx { id: ctx - lock: root.lock + onShouldUnlock: lock.locked = false } WlSessionLock { @@ -31,6 +40,10 @@ Item { locked: root.locked + onLockedChanged: { + root.locked = locked + } + WlSessionLockSurface { color: "transparent" @@ -49,7 +62,7 @@ Item { RowLayout { ClippingWrapperRectangle { - color: Pywal.colors.color1 + color: root.fieldColor implicitWidth: 200 TextInput { text: "" @@ -69,7 +82,7 @@ Item { Button { text: "unlock" onClicked: { - ctx.unlock() + ctx.doUnlock() } } diff --git a/config/aurora/modules/LockCtx.qml b/config/aurora/modules/LockCtx.qml index 47bd859..27803a9 100644 --- a/config/aurora/modules/LockCtx.qml +++ b/config/aurora/modules/LockCtx.qml @@ -18,18 +18,16 @@ Scope { property bool busy: false property bool failed: false - - required property WlSessionLock lock + + signal shouldUnlock() onPassChanged: failed = false - function unlock() { + function doUnlock() { if(pass == "") return; - if(!busy) { - root.busy = true - pam.start() - } else return; + root.busy = true + pam.start() } PamContext { @@ -44,10 +42,13 @@ Scope { onCompleted: result => { if (result == PamResult.Success) { - lock.locked = false + root.shouldUnlock() + console.log("auth Success") + root.pass = ""; } else { - root.pass = ""; - root.failed = true; + root.pass = ""; + root.failed = true; + abort() } root.busy = false; diff --git a/config/aurora/modules/VFlyout.qml b/config/aurora/modules/VFlyoutDown.qml similarity index 100% rename from config/aurora/modules/VFlyout.qml rename to config/aurora/modules/VFlyoutDown.qml diff --git a/config/aurora/modules/VFlyoutLeft.qml b/config/aurora/modules/VFlyoutLeft.qml new file mode 100644 index 0000000..a4a3845 --- /dev/null +++ b/config/aurora/modules/VFlyoutLeft.qml @@ -0,0 +1,85 @@ +import QtQuick +import QtQuick.Shapes + +import Quickshell +import Quickshell.Widgets + +MouseArea { + id: root + + required property real radius + property real pad: 5 + property color color + + property Item item + + hoverEnabled: true + + Component.onCompleted: { + + item.y = pad + } + + width: shape.width + height: shape.height + + Shape { + id: shape + + //anchors.centerIn: parent + ShapePath { + id: path + + strokeWidth: 4 + strokeColor: root.color + fillColor: root.color + + startX: -root.radius - pad; startY: 0 + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { relativeX: 0; relativeY: 2 * pad + item.height - 2 * root.radius } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { x: item.width + pad - root.radius; relativeY: 0 } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { relativeX: 0; relativeY: -item.height + 2 * root.radius - 2 * pad } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { x: -root.radius - pad; y: 0 } + } + } +} + diff --git a/config/aurora/modules/VFlyoutRight.qml b/config/aurora/modules/VFlyoutRight.qml new file mode 100644 index 0000000..a4a3845 --- /dev/null +++ b/config/aurora/modules/VFlyoutRight.qml @@ -0,0 +1,85 @@ +import QtQuick +import QtQuick.Shapes + +import Quickshell +import Quickshell.Widgets + +MouseArea { + id: root + + required property real radius + property real pad: 5 + property color color + + property Item item + + hoverEnabled: true + + Component.onCompleted: { + + item.y = pad + } + + width: shape.width + height: shape.height + + Shape { + id: shape + + //anchors.centerIn: parent + ShapePath { + id: path + + strokeWidth: 4 + strokeColor: root.color + fillColor: root.color + + startX: -root.radius - pad; startY: 0 + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { relativeX: 0; relativeY: 2 * pad + item.height - 2 * root.radius } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { x: item.width + pad - root.radius; relativeY: 0 } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { relativeX: 0; relativeY: -item.height + 2 * root.radius - 2 * pad } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { x: -root.radius - pad; y: 0 } + } + } +} + diff --git a/config/aurora/modules/VFlyoutUp.qml b/config/aurora/modules/VFlyoutUp.qml new file mode 100644 index 0000000..a4a3845 --- /dev/null +++ b/config/aurora/modules/VFlyoutUp.qml @@ -0,0 +1,85 @@ +import QtQuick +import QtQuick.Shapes + +import Quickshell +import Quickshell.Widgets + +MouseArea { + id: root + + required property real radius + property real pad: 5 + property color color + + property Item item + + hoverEnabled: true + + Component.onCompleted: { + + item.y = pad + } + + width: shape.width + height: shape.height + + Shape { + id: shape + + //anchors.centerIn: parent + ShapePath { + id: path + + strokeWidth: 4 + strokeColor: root.color + fillColor: root.color + + startX: -root.radius - pad; startY: 0 + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { relativeX: 0; relativeY: 2 * pad + item.height - 2 * root.radius } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: root.radius + } + + PathLine { x: item.width + pad - root.radius; relativeY: 0 } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + direction: PathArc.Counterclockwise + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { relativeX: 0; relativeY: -item.height + 2 * root.radius - 2 * pad } + + PathArc { + radiusX: root.radius + radiusY: root.radius + + relativeX: root.radius + relativeY: -root.radius + } + + PathLine { x: -root.radius - pad; y: 0 } + } + } +} + diff --git a/config/aurora/modules/Wallpaper.qml b/config/aurora/modules/Wallpaper.qml new file mode 100644 index 0000000..e69de29