Bug 431259

Summary: AnimationDurationFactor is inappropriately present in kwinrc file and gets evaluated, overriding the value in kdeglobals
Product: [Plasma] kwin Reporter: throwaway2d
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: bouzid.anas.1, jpoooy, linuxatemyram, nate, nicolas.fella, tempel.julian
Priority: NOR Keywords: regression, usability
Version: 5.20.4   
Target Milestone: ---   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed In: 5.25.3
Attachments: Example of the described behavior
.config/kwinrc file

Description throwaway2d 2021-01-07 11:20:19 UTC
Created attachment 134635 [details]
Example of the described behavior

SUMMARY
‘Maximize’, “Sliding Popups”, ‘Squash’ (and possibly other) animations don't comply with the “Animation speed” global setting.
Two animations that don't appear to have this issue are the one triggered in “Application Launcher” (when you switch tabs), and in “Task Manager” (when you open an application, for instance).

STEPS TO REPRODUCE
1. I did change some settings, but I don't think there's any way to cause this on purpose. It should be reproducible out of the box.

OBSERVED RESULT
‘Maximize’, “Sliding Popups”, ‘Squash’ animations faster than other animations.

EXPECTED RESULT
The “Animation speed” setting should apply to every animation.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.10.4-2-MANJARO
(available in About System)
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.77.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Please, take a look at the video I've attached.
Comment 1 Nate Graham 2021-01-07 16:36:32 UTC
Works for me. I suspect a Manjaro or theme-specific issue.

Does the issue reproduce if you switch to using the Breeze global theme?
Comment 2 throwaway2d 2021-01-07 17:22:48 UTC
> Does the issue reproduce if you switch to using the Breeze global theme?
It does.
I'll try digging around to see if anyone else using Manjaro can reproduce this. Surely I can't be the only one that has noticed it.
Comment 3 Vlad Zahorodnii 2021-01-08 07:43:37 UTC
Can you attach your .config/kwinrc file to this bug report?
Comment 4 throwaway2d 2021-01-08 10:46:33 UTC
> Can you attach your .config/kwinrc file to this bug report?

[$Version]
update_info=kwin.upd:replace-scalein-with-scale,kwin.upd:port-minimizeanimation-effect-to-js,kwin.upd:port-scale-effect-to-js,kwin.upd:port-dimscreen-effect-to-js,kwin.upd:auto-bordersize,kwin.upd:animation-speed

[Compositing]
GLCore=true
GLTextureFilter=1
OpenGLIsUnsafe=false
XRenderSmoothScale=true

[Desktops]
Id_1=55503bb0-772a-463d-b5c5-591189980530
Name_1=Desktop
Number=1
Rows=1

[Effect-Blur]
BlurStrength=5
NoiseStrength=4

[Effect-PresentWindows]
BorderActivateAll=9

[ElectricBorders]
TopLeft=None

[KDE]
AnimationDurationFactor=0.5

[NightColor]
Active=true
LatitudeAuto=20
LongitudeAuto=-40

[Plugins]
desktopgridEnabled=false
highlightwindowEnabled=true
kwin4_effect_eyeonscreenEnabled=true
kwin4_effect_translucencyEnabled=false
kwin4_effect_windowapertureEnabled=false
presentwindowsEnabled=false
resizeEnabled=true
screenedgeEnabled=false
slideEnabled=false
zoomEnabled=false

[Script-desktopchangeosd]
TextOnly=true

[TabBox]
BorderActivate=9
DesktopLayout=org.kde.breeze.desktop
DesktopListLayout=org.kde.breeze.desktop
LayoutName=org.kde.breeze.desktop
TouchBorderActivate=9

[Windows]
RollOverDesktops=false

[org.kde.kdecoration2]
ButtonsOnLeft=M
ButtonsOnRight=IAX
ShowToolTips=false
library=org.kde.breeze
theme=Breeze
Comment 5 throwaway2d 2021-01-08 10:49:19 UTC
Created attachment 134657 [details]
.config/kwinrc file
Comment 6 Vlad Zahorodnii 2021-01-11 08:08:50 UTC
Remove

```
[KDE]
AnimationDurationFactor=0.5
```

in .config/kwinrc and restart kwin or computer.
Comment 7 throwaway2d 2021-01-12 00:52:20 UTC
That was it. I wonder how it got there, and why the “Animation speed” slider didn't affect this setting.
Comment 8 Nate Graham 2021-02-22 21:42:24 UTC
*** Bug 433367 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2021-02-22 21:44:57 UTC
Re-opening since multiple users are reporting this, and asking them all to manually edit config files by hand is not very nice. We should either remove that setting  automatically with a kconf update script, or else remove the KWin code path that evaluates AnimationDurationFactor in the kwinrc file.
Comment 10 David Edmundson 2022-06-16 10:14:15 UTC
*** Bug 431906 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2022-06-16 12:48:54 UTC
*** Bug 448763 has been marked as a duplicate of this bug. ***
Comment 12 Bouzid 2022-06-16 14:20:16 UTC
*** Bug 455374 has been marked as a duplicate of this bug. ***
Comment 13 Bug Janitor Service 2022-06-16 14:44:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2533
Comment 14 Nate Graham 2022-07-01 14:20:57 UTC
Git commit 0bb3eb2baf5b0a4c0aacbe23bf55c47c0a2c39fd by Nate Graham, on behalf of David Edmundson.
Committed on 01/07/2022 at 13:24.
Pushed by ngraham into branch 'master'.

Write animation speed to kdeglobals

When the animation slider moved to look and feel a UI was kept within
the compositing KCM that was only visible for non Plasma users so they
still had a way to access this.

This non-plasma version still wrote to kwinrc. In theory this was fine
unless you used both. We also hit an issue where a stray
m_settings->save() call in `reenableGl` would sync the settings to the
wrong place.

This patch moves everything to write to kdeglobals and cleans up any old
entries here.

M  +7    -0    src/kcmkwin/kwincompositing/main.cpp

https://invent.kde.org/plasma/kwin/commit/0bb3eb2baf5b0a4c0aacbe23bf55c47c0a2c39fd
Comment 15 Nate Graham 2022-07-01 14:25:02 UTC
Git commit 67f6a323f83dca99b7502fa1d8fe0bdc1b0db3cf by Nate Graham, on behalf of David Edmundson.
Committed on 01/07/2022 at 14:24.
Pushed by ngraham into branch 'Plasma/5.25'.

Write animation speed to kdeglobals

When the animation slider moved to look and feel a UI was kept within
the compositing KCM that was only visible for non Plasma users so they
still had a way to access this.

This non-plasma version still wrote to kwinrc. In theory this was fine
unless you used both. We also hit an issue where a stray
m_settings->save() call in `reenableGl` would sync the settings to the
wrong place.

This patch moves everything to write to kdeglobals and cleans up any old
entries here.
(cherry picked from commit 0bb3eb2baf5b0a4c0aacbe23bf55c47c0a2c39fd)

M  +7    -0    src/kcmkwin/kwincompositing/main.cpp

https://invent.kde.org/plasma/kwin/commit/67f6a323f83dca99b7502fa1d8fe0bdc1b0db3cf