Bug 469625

Summary: Auto-hiding panels show a glitchy 1px gray line when sliding in/out
Product: [Plasma] plasmashell Reporter: neobrain <bugs.7ng0x>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: nate, niccolo.venerandi
Priority: NOR    
Version: 5.27.4   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.27.7
Sentry Crash Report:
Attachments: First frame of hide animation (slide-out to the right)
Reference panel image ("zero-th" frame of hide animation)

Description neobrain 2023-05-11 15:18:55 UTC
SUMMARY
The slide-in/out animation used for auto-hiding panels has a graphical glitch: Once the animation starts, a 1px gray line appears right next the panel. Particularly for dark color schemes (dark plasma on dark application), this bright color creates an irritating contrast, which in effect makes the sliding animation look "off"/stuttery.

To illustrate the problem, I attached a screenshot of the first frame of the auto-hide animation, along with the zero-th frame as a reference.

STEPS TO REPRODUCE
1. Set panel visibility to "Auto Hide"
2. Set color scheme to Breeze Dark
3. Observe the auto-hide animation of the panel

The glitch is best-visible on top of an application with dark background, and may be easier to spot on a 30Hz resolution or lower. On a high-refresh-rate display, the animation will look "off" but it will be difficult to explicitly spot the 1px line.

OBSERVED RESULT
During the auto-hide animation, a 1px gray line appears on the innermost side of the panel.

EXPECTED RESULT
The panel hiding should be animation without any extra elements appearing.

SOFTWARE/OS VERSIONS
Linux: openSUSE Tumbleweed (also tested Ubuntu 23.04)
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Graphics Platform: Wayland
Comment 1 neobrain 2023-05-11 15:19:57 UTC
Created attachment 158864 [details]
First frame of hide animation (slide-out to the right)
Comment 2 neobrain 2023-05-11 15:20:32 UTC
Created attachment 158865 [details]
Reference panel image ("zero-th" frame of hide animation)
Comment 3 Bug Janitor Service 2023-06-22 09:41:29 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4206
Comment 4 Zamundaaa 2023-06-23 08:55:06 UTC
Git commit cd94cdaf3a04227073c3f99833139a712d195d3a by Xaver Hugl.
Committed on 23/06/2023 at 08:45.
Pushed by zamundaaa into branch 'master'.

plugins/backgroundcontrast,blur: ensure the effect is only applied behind the window

When a window is translated and/or scaled, the effect must be strictly behind the
window and never beyond it, as that is very noticeable.

M  +14   -8    src/plugins/backgroundcontrast/contrast.cpp
M  +13   -6    src/plugins/blur/blur.cpp

https://invent.kde.org/plasma/kwin/-/commit/cd94cdaf3a04227073c3f99833139a712d195d3a
Comment 5 Zamundaaa 2023-06-23 09:24:34 UTC
Git commit 69151896615ec272d78860b2ef42e61657f435f1 by Xaver Hugl.
Committed on 23/06/2023 at 09:05.
Pushed by zamundaaa into branch 'Plasma/5.27'.

plugins/backgroundcontrast,blur: ensure the effect is only applied behind the window

When a window is translated and/or scaled, the effect must be strictly behind the
window and never beyond it, as that is very noticeable.
(cherry picked from commit cd94cdaf3a04227073c3f99833139a712d195d3a)

M  +14   -8    src/effects/backgroundcontrast/contrast.cpp
M  +13   -6    src/effects/blur/blur.cpp

https://invent.kde.org/plasma/kwin/-/commit/69151896615ec272d78860b2ef42e61657f435f1