From 2c793ed8f0470b30d16e9431d07038cf8268fc95 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 11 Aug 2025 23:33:58 +1000 Subject: [PATCH] lock/notifs: add empty placeholder --- assets/dino.png | Bin 0 -> 9441 bytes modules/lock/Content.qml | 4 ++- modules/lock/LockSurface.qml | 4 ++- modules/lock/NotifDock.qml | 50 ++++++++++++++++++++++++++++++++++- modules/lock/NotifGroup.qml | 6 +++++ 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 assets/dino.png diff --git a/assets/dino.png b/assets/dino.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bc7bb3bb76e96fec17939f8256f898ff330786 GIT binary patch literal 9441 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 0 ? qsTr("%1 notification%2").arg(Notifs.list.length).arg(Notifs.list.length === 1 ? "" : "s") : qsTr("Notifications") color: Colours.palette.m3outline + font.family: Appearance.font.family.mono + font.weight: 500 elide: Text.ElideRight } ClippingRectangle { + id: clipRect + Layout.fillWidth: true Layout.fillHeight: true radius: Appearance.rounding.small color: "transparent" + Loader { + anchors.centerIn: parent + asynchronous: true + active: opacity > 0 + opacity: root.lock.animating || Notifs.list.length > 0 ? 0 : 1 + + sourceComponent: ColumnLayout { + spacing: Appearance.spacing.large + + Image { + asynchronous: true + source: `file://${Quickshell.shellDir}/assets/dino.png` + fillMode: Image.PreserveAspectFit + sourceSize.width: root.lock.animating ? 0 : clipRect.width * 0.8 + + layer.enabled: true + layer.effect: Colouriser { + colorizationColor: Colours.palette.m3outlineVariant + brightness: 1 + } + } + + StyledText { + Layout.alignment: Qt.AlignHCenter + text: qsTr("No Notifications") + color: Colours.palette.m3outlineVariant + font.pointSize: Appearance.font.size.large + font.family: Appearance.font.family.mono + font.weight: 500 + } + } + + Behavior on opacity { + Anim { + duration: Appearance.anim.durations.extraLarge + } + } + } + StyledListView { anchors.fill: parent diff --git a/modules/lock/NotifGroup.qml b/modules/lock/NotifGroup.qml index 9be15cdd..b119503f 100644 --- a/modules/lock/NotifGroup.qml +++ b/modules/lock/NotifGroup.qml @@ -54,6 +54,8 @@ StyledRect { fillMode: Image.PreserveAspectCrop cache: false asynchronous: true + width: Config.notifs.sizes.image + height: Config.notifs.sizes.image } } @@ -123,10 +125,13 @@ StyledRect { } ColumnLayout { + Layout.topMargin: -Appearance.padding.small + Layout.bottomMargin: -Appearance.padding.small / 2 - (root.expanded ? 0 : spacing) Layout.fillWidth: true spacing: Math.round(Appearance.spacing.small / 2) RowLayout { + Layout.bottomMargin: -parent.spacing Layout.fillWidth: true spacing: Appearance.spacing.smaller @@ -139,6 +144,7 @@ StyledRect { } StyledText { + animate: true text: root.notifs[0].timeStr color: Colours.palette.m3outline font.pointSize: Appearance.font.size.small