Bug 390632 - Breeze task switcher has a transparent rectangle at the bottom
Summary: Breeze task switcher has a transparent rectangle at the bottom
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.12.1
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Vlad Zahorodnii
URL:
Keywords:
: 390831 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-02-17 20:51 UTC by Vlad Zahorodnii
Modified: 2018-06-06 17:52 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Look at the bottom (11.25 KB, image/png)
2018-02-17 20:51 UTC, Vlad Zahorodnii
Details
Digital clock/calendar also has transparent parts (122.00 KB, image/png)
2018-03-11 19:35 UTC, Vlad Zahorodnii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vlad Zahorodnii 2018-02-17 20:51:55 UTC
Created attachment 110758 [details]
Look at the bottom

Breeze task switcher has a transparent rectangle at the bottom(see the attached screenshot). Also, it seems like tiny portion of the right border of the task switcher is not blurred.


Look and Feel: Breeze
Desktop theme: Breeze Dark

(even though the task switcher is called Breeze, this bug is related to plasma shell, right?)
Comment 1 David Edmundson 2018-02-18 22:19:31 UTC
Technically this window is in kwin, but frame comes plasma stuff, so here works.

We've got a  similar bug reported for panels. Potentially the same cause.
Comment 2 Vlad Zahorodnii 2018-02-19 03:29:32 UTC
... So, who sets blur region?
Comment 3 Kai Uwe Broulik 2018-02-21 10:39:17 UTC
*** Bug 390831 has been marked as a duplicate of this bug. ***
Comment 4 Vlad Zahorodnii 2018-03-11 19:35:43 UTC
Created attachment 111324 [details]
Digital clock/calendar also has transparent parts
Comment 5 Nate Graham 2018-03-11 20:41:56 UTC
Notably, the gray bar is visible on the bottom even if the pop-up loads from the side of the screen (e.g. if your panel is on the side).
Comment 6 Vlad Zahorodnii 2018-03-12 01:39:16 UTC
KWin has nothing to do with this. For example, the blur effect gets the following blur region 

QRegion(size=2, bounds=(0,0 216x768) - [(0,0 216x758), (206,758 10x10)])

You can clearly see that bottom part is omitted. (my screen resolution is 1366x768)

Anyway, after digging a little bit, I think these issues are (maybe) caused by PlasmaCore.Dialog or dialogs/background.svgz.
Comment 7 Vlad Zahorodnii 2018-03-12 01:43:27 UTC
Dialog's blur region is set to a mask(I don't really know what it is and how it is computed :(

https://github.com/KDE/plasma-framework/blob/master/src/plasmaquick/dialog.cpp#L245

And, in my case, the mask for task switcher is QRegion(size=2, bounds=(0,0 216x768) - [(0,0 216x758), (206,758 10x10)])
Comment 8 Vlad Zahorodnii 2018-03-12 01:47:26 UTC
I hope it'll help somehow.
Comment 10 Vlad Zahorodnii 2018-05-30 13:46:37 UTC
I fixed it. I'll push fix soon.
Comment 11 Vlad Zahorodnii 2018-05-30 15:06:10 UTC
https://phabricator.kde.org/D13215
Comment 12 Vlad Zahorodnii 2018-06-06 17:52:12 UTC
Git commit dce258bee3da854980b6f2430b26f7025752a505 by Vlad Zagorodniy.
Committed on 06/06/2018 at 17:52.
Pushed by vladz into branch 'master'.

FrameSvg: Recache maskFrame if enabledBorders has been changed

Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this

{F5878318, layout=center, size=full}

//Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.//

The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.

Just for reference, this is "after"

{F5878319, layout=center, size=full}
Related: bug 382324, bug 391659

Test Plan:
* Triggered the Breeze task switcher (with compositing on and off)
* Didn't see any transparent strips

---

* Tried running FrameSvgTest, still passes

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13215

M  +16   -10   src/plasma/framesvg.cpp

https://commits.kde.org/plasma-framework/dce258bee3da854980b6f2430b26f7025752a505