Bug 461506

Summary: Visual glitch in floating panel when using small panel thickness and Plasma theme with extremely large corner radius
Product: [Plasma] plasmashell Reporter: Phoenix Awakened <dewesh_2211>
Component: PanelAssignee: veggero <niccolo.venerandi>
Status: RESOLVED FIXED    
Severity: minor CC: nate, niccolo.venerandi, nicolas.fella
Priority: NOR    
Version: 5.26.2   
Target Milestone: 1.0   
Platform: Other   
OS: Other   
Latest Commit: Version Fixed In: 5.27
Sentry Crash Report:
Attachments: Image of the issue.

Description Phoenix Awakened 2022-11-06 16:07:03 UTC
Created attachment 153525 [details]
Image of the issue.

Hello. 

I usually use dark themes, but recently I am using light themes which are translucent and I am getting white line in middle of the panel, when it is set to floating. In non-floating mode, it is normal.   The attached image is of plasma theme named, " WhiteSur ", though any of other translucent theme result in same output.




SOFTWARE/OS VERSIONS

Linux/KDE Plasma: 
EndeavourOS

KDE Plasma Version:  5.26.2
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.7

ADDITIONAL INFORMATION
Comment 1 Phoenix Awakened 2022-11-06 16:18:12 UTC
One more observation which I want to share is that : this thick bar only appears on panel height below 30. Above 30, it vanishes. And 30 is the last value for panel height where the bar appears.
Comment 2 veggero 2022-11-06 16:21:11 UTC
That's because the size of the border in WhiteSur's SVGs is 15, so if your panel is <30px the two borders will be drawn on top of each other. Honestly, I'm not sure if we can do anything meaningful here...
Comment 3 Phoenix Awakened 2022-11-07 14:50:18 UTC
(In reply to veggero from comment #2)


Oh. If this is the reason, then it might be applicable to other Plasma themes. Thanks for pointing out this to me.


Also, can I link this with the stuttering which I get in translucent light themes ? I am not able to record it or capture it, as changing the task removes the flashes.
Comment 4 veggero 2022-11-07 14:54:37 UTC
(In reply to Phoenix Awakened from comment #3)
> (In reply to veggero from comment #2)
> 
> 
> Oh. If this is the reason, then it might be applicable to other Plasma
> themes. Thanks for pointing out this to me.
> 
> 
> Also, can I link this with the stuttering which I get in translucent light
> themes ? I am not able to record it or capture it, as changing the task
> removes the flashes.

That doesn't sound directly related, but I'd have to see it to give you a more solid opinion there
Comment 5 Nate Graham 2022-11-07 19:37:56 UTC
A few questions for you:
1. Does it happen if you make the panel non-floating?
2. Does it happen with the Breeze Plasma theme?
3. Was the a previous Plasma version (e.g. 5.25) where this worked properly with WhiteSur?
Comment 6 veggero 2022-11-07 19:52:48 UTC
(In reply to Nate Graham from comment #5)
> A few questions for you:
> 1. Does it happen if you make the panel non-floating?

Well, no, because the non-floating panel does not have rounded corners on both sides.

> 2. Does it happen with the Breeze Plasma theme?

No, because we use a small corner radius, and thus the panel can't really be smaller than two times that; BigSur has a much bigger one.

> 3. Was the a previous Plasma version (e.g. 5.25) where this worked properly
> with WhiteSur?

I doubt 5.25, maybe in older version there was some different logic that better supported themes like the fluffy one, but that's probably from before the floating panel, which is really where you notice this. 

The correct approach would be change the minimum size of the panel depending on the margin defined in the plasma theme.
Comment 7 Bug Janitor Service 2022-11-07 20:45:27 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1242
Comment 8 Phoenix Awakened 2022-11-08 15:13:20 UTC
(In reply to Nate Graham from comment #5)
> A few questions for you:
> 1. Does it happen if you make the panel non-floating?
No.

> 2. Does it happen with the Breeze Plasma theme?
No.
> 3. Was the a previous Plasma version (e.g. 5.25) where this worked properly
> with WhiteSur?
This issue happen with many Plasma themes which have increased Transparency/translucency. I usually see panels begin to flicker if I open multiple windows each over other in smaller size, in maximized mode it appears infrequently as flickers when scrolling.

To check it even more, I also changed the window decorations to translucent one and even they were showing the flickering.
Comment 9 Phoenix Awakened 2022-11-08 15:17:01 UTC
Also, sometimes I had seen that, those Plasma themes which light and translucent/transparent catches the impression of cursor, but it disappears if I open another window/task.
Comment 10 Nate Graham 2022-11-28 19:17:34 UTC
Git commit 0910a8b17095700fbed0a4fe1980d012336f6505 by Nate Graham, on behalf of Niccolò Venerandi.
Committed on 28/11/2022 at 19:17.
Pushed by ngraham into branch 'master'.

Make sure Panel cannot be smaller than the margins of the panel SVG

Depends on:
- https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2329
- https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/647

This commit reads the minimum size the panel can be drawn at in the Panel view
(so that it can be read by the panel cpp code) and makes sure that the thickness
box cannot set a value that's lower than that. Even if you change to a theme that
has min size bigger than current panel thickness, the value will update so that
it's never lower than it (since we re-check the thickness every time the min size
changes; see https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2329/diffs#a59fc6b4fc8c9491e223a39a5c49d288286e16f0_1535_1555).
FIXED-IN: 5.27

M  +7    -2    desktoppackage/contents/configuration/panelconfiguration/ToolBar.qml
M  +3    -0    desktoppackage/contents/views/Panel.qml

https://invent.kde.org/plasma/plasma-desktop/commit/0910a8b17095700fbed0a4fe1980d012336f6505
Comment 11 Nate Graham 2022-11-28 19:31:05 UTC
Git commit 2bcf511f10218d7b69bcc0ba7367defcaa7900af by Nate Graham, on behalf of Niccolò Venerandi.
Committed on 28/11/2022 at 19:31.
Pushed by ngraham into branch 'master'.

Panel: Read the minimum size of the panel SVG and make use of it

Depends on https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/647

Benefits https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1242

This commit reads (from the Panel View) the minimum thickness the panel can be drawn
at, and exposes that value. Also, it makes sure that the thickness cannot be lower
than that value.

M  +21   -0    shell/panelview.cpp
M  +11   -0    shell/panelview.h

https://invent.kde.org/plasma/plasma-workspace/commit/2bcf511f10218d7b69bcc0ba7367defcaa7900af