Bug 522276 - Improve easing curve for sliding notification animation
Summary: Improve easing curve for sliding notification animation
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.7.1
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-27 08:18 UTC by belgu6211
Modified: 2026-07-01 06:13 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Screen recording demonstrating the current notification sliding animation. (383.52 KB, video/mp4)
2026-06-27 08:18 UTC, belgu6211
Details

Note You need to log in before you can comment on or make changes to this bug.
Description belgu6211 2026-06-27 08:18:23 UTC
Created attachment 193779 [details]
Screen recording demonstrating the current notification sliding animation.

Hello, I really like Plasma 6.7 Sliding notification animations but i want it smoother on the slide in animation
Comment 1 Nate Graham 2026-06-27 12:07:38 UTC
When you say you want it smoother, is it possible that what you mean is that you want a gentler easing curve so that the notification decelerates as it reaches its final location?
Comment 2 belgu6211 2026-06-27 15:47:38 UTC
Hi Nate, yes, That is exactly what I mean. Right now. A gentler easing curve
Comment 3 Nate Graham 2026-06-27 16:00:49 UTC
Cool.
Comment 4 Nate Graham 2026-06-27 16:01:20 UTC
And you're in luck: I think this will be fixed by https://invent.kde.org/plasma/kwin/-/merge_requests/9379.
Comment 5 Thomas Duckworth 2026-07-01 06:13:45 UTC
Git commit 8976d1a2cd3c4c01154845cb6c08c8fd0692bfd7 by Thomas Duckworth.
Committed on 01/07/2026 at 03:57.
Pushed by tduck into branch 'master'.

plugins/slidingnotifications: Drive animation with spring motion

The slide and reposition animations interpolated through a TimeLine along a fixed path using Bezier curves. This created an artificial looking animation without convincing easing and acceleration/deceleration.

Drive the position with SpringMotion instead, taken from previously-existing code. This gives the motion a nice and natural-looking acceleration and deceleration with easing in and out, with an exit animation anchored to a position off-screen.

Also drive opacity with SpringMotion that's stiffer than the position SpringMotion. This allows it to fade in and out slightly faster than the spring in a natural way, avoiding looking like the notification is stalling for a moment before fading out.

M  +93   -54   src/plugins/slidingnotifications/slidingnotifications.cpp
M  +18   -7    src/plugins/slidingnotifications/slidingnotifications.h

https://invent.kde.org/plasma/kwin/-/commit/8976d1a2cd3c4c01154845cb6c08c8fd0692bfd7