Bug 380825

Summary: [wayland] panels dont show single shadow
Product: [Plasma] plasmashell Reporter: Michail Vourlakos <mvourlakos>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 5.10.0   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Michail Vourlakos 2017-06-04 16:44:04 UTC
When the panel takes up all the screen space the shadow is not shown. Looking up the code there is a chance that this is inside KWayland.

Example: when the panel is at the bottom and takes up all the screen edge only one border is activated the TopBorder. In such case the panel shadow is not shown. It was found first with Latte that in some cases uses the same mechanism to draw shadows. When we enabled the leftborder and rightborder in this example the shadows were drawn correctly

How to reproduce:
1. Add a panel that takes up all the screen space

you can use also a theme with very big shadows to make it appear better such as the "Air" theme
Comment 1 David Edmundson 2017-06-12 21:35:09 UTC
Git commit e9e285618ef11e483b1da076f85b6fd81dd46056 by David Edmundson.
Committed on 09/06/2017 at 15:43.
Pushed by davidedmundson into branch 'xdgv6'.

Make shadows work for windows 100% width or height

Summary:
Clients provide shadows as 9 images, which then get split into relevant quads.
To work out the full width we need the size of an item on the left, the middle and the right.

Some elements can be legitiamtely missing so to work out the width of the left edge we need to consider
all 3 of topleft,left,bottomleft.

Currently we checked both corners in case one was missing, but it's legitimate for both to be missing if the shadow
stretches the whole way.

Test Plan: Shadow on panel, rest looks the same

Reviewers: #plasma

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

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

M  +8    -8    scene_opengl.cpp
M  +7    -0    utils.h

https://commits.kde.org/kwin/e9e285618ef11e483b1da076f85b6fd81dd46056
Comment 2 David Edmundson 2017-06-20 14:49:00 UTC
Git commit b7cb301deb3b191c7ff0bd04d87d6c1b93d90407 by David Edmundson.
Committed on 20/06/2017 at 14:48.
Pushed by davidedmundson into branch 'Plasma/5.10'.

Make shadows work for windows 100% width or height

Summary:
Clients provide shadows as 9 images, which then get split into relevant quads.
To work out the full width we need the size of an item on the left, the middle and the right.

Some elements can be legitiamtely missing so to work out the width of the left edge we need to consider
all 3 of topleft,left,bottomleft.

Currently we checked both corners in case one was missing, but it's legitimate for both to be missing if the shadow
stretches the whole way.

Test Plan: Shadow on panel, rest looks the same

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: graesslin, mart, plasma-devel, kwin, #kwin

Tags: #plasma

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

M  +12   -13   scene_opengl.cpp

https://commits.kde.org/kwin/b7cb301deb3b191c7ff0bd04d87d6c1b93d90407