From 8a48fa11ecfffa6588807a736c897d247167b3cc Mon Sep 17 00:00:00 2001 From: purian23 Date: Sun, 15 Feb 2026 15:04:33 -0500 Subject: [PATCH] Add expressive curve on init toast --- .../Notifications/Popup/NotificationPopup.qml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/quickshell/Modules/Notifications/Popup/NotificationPopup.qml b/quickshell/Modules/Notifications/Popup/NotificationPopup.qml index bd4cf875..16c43226 100644 --- a/quickshell/Modules/Notifications/Popup/NotificationPopup.qml +++ b/quickshell/Modules/Notifications/Popup/NotificationPopup.qml @@ -279,6 +279,10 @@ PanelWindow { property real swipeOffset: 0 readonly property real dismissThreshold: isCenterPosition ? height * 0.4 : width * 0.35 + readonly property real swipeFadeStartRatio: 0.75 + readonly property real swipeTravelDistance: isCenterPosition ? height : width + readonly property real swipeFadeStartOffset: swipeTravelDistance * swipeFadeStartRatio + readonly property real swipeFadeDistance: Math.max(1, swipeTravelDistance - swipeFadeStartOffset) readonly property bool swipeActive: swipeDragHandler.active property bool swipeDismissing: false @@ -792,7 +796,13 @@ PanelWindow { } } - opacity: 1 - Math.abs(content.swipeOffset) / (isCenterPosition ? content.height : content.width * 0.6) + opacity: { + const swipeAmount = Math.abs(content.swipeOffset); + if (swipeAmount <= content.swipeFadeStartOffset) + return 1; + const fadeProgress = (swipeAmount - content.swipeFadeStartOffset) / content.swipeFadeDistance; + return Math.max(0, 1 - fadeProgress); + } Behavior on opacity { enabled: !content.swipeActive