Bug 460910

Summary: Animated wallpaper is not animated on lock screen
Product: [Plasma] plasmashell Reporter: Mariano <mariano.mollo>
Component: Image & Slideshow wallpaper pluginsAssignee: Plasma Bugs List <plasma-bugs-null>
Status: ASSIGNED ---    
Severity: minor CC: fanzhuyifan, luisbocanegra17b, nate, notmart, qydwhotmail, ranbeermalhotra2004
Priority: NOR Keywords: junior-jobs
Version First Reported In: 5.26.1   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Mariano 2022-10-23 21:55:41 UTC
SUMMARY
The user can set an animated wallpaper on the desktop and on the lock screen as well.
The animated wallpaper is set to stop when a window is maximized. [1]
When a window is maximized, also the animation on the lock screen is stopped.
I guess that was not intended.

DESIRED RESULT

The lock screen should always be animated, regardless of maximized windows.

[1]: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1831/diffs?commit_id=013ad03370a1b08d2db79d88cf8f752434d0e401

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: EndeavourOS Linux 6.0.2-arch1-1 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
KDE Plasma Version: 5.26.1
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Graphics platform: Wayland
Comment 1 Nate Graham 2022-10-24 20:52:53 UTC
Need to check for whether any of the maximized or full screen windows are the lock screen, I guess.
Comment 2 Ranbeer Malhotra 2025-08-03 02:35:58 UTC
Thank you Mariano for pointing out in the right direction. I browsed the commit and found a flaw in the logic of pausing the animation. 

Line 43 of AnimatedImageComponent.qml:
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1831/diffs?commit_id=6e43d469811222f889eed71ad96e0073ddfbba65#5e76689bb88c1344227f1aad04ef9a5637692901_0_43

The code checks for activeWindowMonitor count which in turn finds the no. of maximized windows. Now, this logic works for an unlocked screen but when the screen is locked, the value remains the same.

Maybe adding a logic to Line 43 for checking for locked status of device will help mitigate this bug.
Comment 3 Nate Graham 2025-08-07 15:39:33 UTC
Cool, would you  like to submit a merge request to fix this?
Comment 4 Ranbeer Malhotra 2025-08-08 02:00:11 UTC
I would love too. Sadly, I have no experience in Qt and C++. I explored a possible solution which I am not sure would work, but I am gonna drop it just in case.

Using dbus interface to get the status of lock screen. I am not sure if this would work but I do get the status of lock screen using GetActive method. reference: https://superuser.com/questions/820596/kde-screen-lock-log

Again, sorry for not contributing further due to lack of my experience.
Comment 5 Luis Bocanegra 2025-09-01 08:30:26 UTC
Doing `property bool isLockScreen: Window.window ? Window.window.source.toString().endsWith("LockScreen.qml") : false` works but feels more like a workaround as it will have to keep in sync with https://invent.kde.org/plasma/plasma-desktop/-/blob/master/desktoppackage/contents/lockscreen/LockScreen.qml, tried looking at MaximizedWindowMonitor class but my C++ fu is not so great to understand how it works :P
Comment 6 Bug Janitor Service 2025-10-25 11:01:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5941
Comment 7 Bug Janitor Service 2025-11-26 05:49:39 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/297