aboutsummaryrefslogtreecommitdiffstats
path: root/notifications/NotificationBalloon.qml
diff options
context:
space:
mode:
Diffstat (limited to 'notifications/NotificationBalloon.qml')
-rw-r--r--notifications/NotificationBalloon.qml15
1 files changed, 15 insertions, 0 deletions
diff --git a/notifications/NotificationBalloon.qml b/notifications/NotificationBalloon.qml
index b5af3ab..a82f5f6 100644
--- a/notifications/NotificationBalloon.qml
+++ b/notifications/NotificationBalloon.qml
@@ -27,6 +27,21 @@ Rectangle {
property var borderColors: []
property real borderAngle: 0
+ // Slides in from the screen edge it sits against. The layer surface maps
+ // once for the whole stack, so a Hyprland layer animation would only
+ // play for the first balloon. The window clips it, so it appears from
+ // the stack's edge rather than from beyond the screen's.
+ transform: Translate { id: slide }
+ NumberAnimation {
+ id: enter
+ target: slide; property: "x"; duration: 260; easing.type: Easing.OutCubic
+ to: 0
+ }
+ Component.onCompleted: {
+ enter.from = Notify.config.balloons.corner.endsWith("left") ? -b.width - 12 : b.width + 12;
+ enter.start();
+ }
+
// Driven by the shell's tick. The balloon drops itself once its expiry
// passes, or while a suppression says so: the drawer and snooze withhold
// everything; a muted app and DND are config.json's call (DND passes