Bug 469625 - Auto-hiding panels show a glitchy 1px gray line when sliding in/out
Summary: Auto-hiding panels show a glitchy 1px gray line when sliding in/out
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.27.4
Platform: openSUSE Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-11 15:18 UTC by neobrain
Modified: 2023-07-01 01:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.7
Sentry Crash Report:


Attachments
First frame of hide animation (slide-out to the right) (10.91 KB, image/png)
2023-05-11 15:19 UTC, neobrain
Details
Reference panel image ("zero-th" frame of hide animation) (11.06 KB, image/png)
2023-05-11 15:20 UTC, neobrain
Details

Note You need to log in before you can comment on or make changes to this bug.
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