Bug 460896 - Panels have a 1px transparent corner, which breaks Fitt's Law when compositing's disabled
Summary: Panels have a 1px transparent corner, which breaks Fitt's Law when compositin...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.26.1
Platform: Arch Linux Linux
: HI minor
Target Milestone: 1.0
Assignee: veggero
URL:
Keywords: regression
: 460965 460977 461458 461775 461984 461990 462134 462266 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-10-23 12:59 UTC by Ennea
Modified: 2022-11-30 21:21 UTC (History)
12 users (show)

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


Attachments
Screenshot of a part of the panel in KDE Plasma 5.26.1, clearly showing a 1px border around the panel's background (39.65 KB, image/png)
2022-10-23 12:59 UTC, Ennea
Details
Screenshot of the issue clearly visible using the stock wallpaper "Ice Cold" with KDE 5.26.1 (14.10 KB, image/png)
2022-10-23 14:51 UTC, Mahe
Details
With compositing turned off; a black terminal window is maximized to show the (now completely see-through) border (10.40 KB, image/png)
2022-10-31 22:25 UTC, Ennea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ennea 2022-10-23 12:59:20 UTC
Created attachment 153140 [details]
Screenshot of a part of the panel in KDE Plasma 5.26.1, clearly showing a 1px border around the panel's background

SUMMARY
Starting with Plasma 5.26.1, the background of panels that have their opacity set to translucent have an unexpected 1px border around the entire panel.

STEPS TO REPRODUCE
1. Launch KDE
2. Make sure the panel's background opacity is set to "translucent"

OBSERVED RESULT
The panel's background has a 1px border. It appears that the area in that border is not blurred like the rest of the panel. See attachment.

EXPECTED RESULT
There should be no border. The entire background area should be a solid mix of blurred wallpaper and panel background color.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.26.1

ADDITIONAL INFORMATION
I've read the 5.26.1 changelog, and I assume that this regression was introduced with the fix for this bug: https://bugs.kde.org/show_bug.cgi?id=417511
The commit in question: https://invent.kde.org/plasma/plasma-workspace/-/commit/b68a93efee8a1b1de86f3689c0db685f6a74adf9
Comment 1 Mahe 2022-10-23 14:51:25 UTC
Created attachment 153147 [details]
Screenshot of the issue clearly visible using the stock wallpaper "Ice Cold" with KDE 5.26.1

I can reproduce this on KDE Neon User 20221023-0714 shipping KDE 5.26.1.
Attaching a new screenshot where it is even more pronounced against the "Ice Cold" stock wallpaper.
Comment 2 Nate Graham 2022-10-24 15:50:58 UTC
Caused by the final for for the Korners bug (Bug 417511).

Personally I think it looks pretty cool, but I guess if this wasn't the intended appearance, it's a bug that should be fixed.
Comment 3 Nate Graham 2022-10-25 17:18:22 UTC
*** Bug 460977 has been marked as a duplicate of this bug. ***
Comment 4 Ennea 2022-10-31 22:03:34 UTC
With compositing turned off, this 1px border also becomes entirely invisible and, on top of that, does not capture input for the panel, allowing users to click through. This can get pretty noticeable, because moving the mouse all the way down to the bottom of the screen to click any button on the panel simply does not work. So this has a functional impact, not just a cosmetic one.
Comment 5 veggero 2022-10-31 22:08:27 UTC
(In reply to Ennea from comment #4)
> With compositing turned off, this 1px border also becomes entirely invisible
> and, on top of that, does not capture input for the panel, allowing users to
> click through. This can get pretty noticeable, because moving the mouse all
> the way down to the bottom of the screen to click any button on the panel
> simply does not work. So this has a functional impact, not just a cosmetic
> one.

That's a completely unrelated bug; I'd suggest filing that separately.
Comment 6 Ennea 2022-10-31 22:09:49 UTC
(In reply to veggero from comment #5)
> That's a completely unrelated bug; I'd suggest filing that separately.

Wait, really? That's a funky coincidence.
Comment 7 veggero 2022-10-31 22:20:47 UTC
(In reply to Ennea from comment #6)
> (In reply to veggero from comment #5)
> > That's a completely unrelated bug; I'd suggest filing that separately.
> 
> Wait, really? That's a funky coincidence.

It's not a particularly funky coincidence considering that "this 1px border also becomes entirely invisible" actually means "this bug disappears when compositing is off" and "does not capture input for the panel" is not mentioned in the bug report at all :P yeah, this line doesn't really affect any mouse input
Comment 8 Ennea 2022-10-31 22:22:47 UTC
(In reply to veggero from comment #7)
> It's not a particularly funky coincidence considering that "this 1px border
> also becomes entirely invisible" actually means "this bug disappears when
> compositing is off" and "does not capture input for the panel" is not
> mentioned in the bug report at all :P yeah, this line doesn't really affect
> any mouse input

Perhaps my wording wasn't particularly good on that one. When I say invisible, I mean that the panel now has a 1px border of invisibility/full transparency. I'll attach another screenshot in a bit. Basically like the existing screenshots, but the panel itself is full black (in my case), and it all has a 1px border you can see the wallpaper through. Still not related? ;)
Comment 9 veggero 2022-10-31 22:24:37 UTC
(In reply to Ennea from comment #8)
> (In reply to veggero from comment #7)
> > It's not a particularly funky coincidence considering that "this 1px border
> > also becomes entirely invisible" actually means "this bug disappears when
> > compositing is off" and "does not capture input for the panel" is not
> > mentioned in the bug report at all :P yeah, this line doesn't really affect
> > any mouse input
> 
> Perhaps my wording wasn't particularly good on that one. When I say
> invisible, I mean that the panel now has a 1px border of invisibility/full
> transparency. I'll attach another screenshot in a bit. Basically like the
> existing screenshots, but the panel itself is full black (in my case), and
> it all has a 1px border you can see the wallpaper through. Still not
> related? ;)

Ah, that's more interesting! I'm not sure if it's related (this bug is caused by the mask being smaller than the panel and that should not have any effect on compositing off) but I can investigate. The mouse input stuff is for sure unrelated though
Comment 10 Ennea 2022-10-31 22:25:16 UTC
Created attachment 153364 [details]
With compositing turned off; a black terminal window is maximized to show the (now completely see-through) border
Comment 11 Nate Graham 2022-11-02 17:07:39 UTC
Are you on X11 and using a fractional scale factor (i.e. not 100% or 200%)? If so, this is Bug 460965 and might indeed have been introduced with https://invent.kde.org/plasma/plasma-workspace/-/commit/b68a93efee8a1b1de86f3689c0db685f6a74adf9.
Comment 12 Petr Velan 2022-11-02 18:52:50 UTC
I do have the same problem, scaling is 100%. My system is:

Operating System: openSUSE Tumbleweed 20221029
KDE Plasma Version: 5.26.2
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Kernel Version: 6.0.5-1-default (64-bit)
Graphics Platform: X11
Graphics Processor: Mesa Intel® UHD Graphics 620

When I turn of compositor, there is a gap and mouse is not registered on this gap, which is very annoying as it make selecting apps by mouse harder.
Comment 13 Ennea 2022-11-02 23:19:40 UTC
Same here. X11, 100% scale. Keep in mind this only happens with compositing turned off.
Comment 14 Nate Graham 2022-11-03 19:57:45 UTC
Can reproduce 100% with compositing turned off on x11.
Comment 15 Nate Graham 2022-11-03 19:57:55 UTC
*** Bug 460965 has been marked as a duplicate of this bug. ***
Comment 16 Nate Graham 2022-11-05 17:23:57 UTC
*** Bug 461458 has been marked as a duplicate of this bug. ***
Comment 17 Nate Graham 2022-11-06 02:34:56 UTC
Sorry Niccolò, it's definitely https://invent.kde.org/plasma/plasma-workspace/-/commit/b68a93efee8a1b1de86f3689c0db685f6a74adf9 that caused this--including mouse input on the edges hitting the desktop, not the panel. With that commit reverted, the issue goes away; what that commit restored, the issue returns. Try it yourself and you'll see.
Comment 18 veggero 2022-11-06 08:35:54 UTC
(In reply to Nate Graham from comment #17)
> Sorry Niccolò, it's definitely
> https://invent.kde.org/plasma/plasma-workspace/-/commit/
> b68a93efee8a1b1de86f3689c0db685f6a74adf9 that caused this--including mouse
> input on the edges hitting the desktop, not the panel. With that commit
> reverted, the issue goes away; what that commit restored, the issue returns.
> Try it yourself and you'll see.

Ah, ok, I found the issue. When compositing is disabled, `setMask` for some reason crops the entire window and mouse area. Fix is really simple, it's enough to give the rawMask to setMask instead of the mask; however I revert that commit in https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2276 anyway, so that's not really needed. See my comment there on why the revert should do the trick even though we have https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/636
Comment 19 veggero 2022-11-14 16:02:02 UTC
*** Bug 461775 has been marked as a duplicate of this bug. ***
Comment 20 veggero 2022-11-18 14:23:16 UTC
*** Bug 461990 has been marked as a duplicate of this bug. ***
Comment 21 veggero 2022-11-18 14:24:19 UTC
*** Bug 461984 has been marked as a duplicate of this bug. ***
Comment 22 veggero 2022-11-23 13:08:51 UTC
*** Bug 462134 has been marked as a duplicate of this bug. ***
Comment 23 Nate Graham 2022-11-24 16:57:09 UTC
Git commit 1abe11473bcaa282ad1b5087b8dbaab2329530de by Nate Graham, on behalf of Niccolò Venerandi.
Committed on 24/11/2022 at 16:57.
Pushed by ngraham into branch 'master'.

Panel: Revert making the mask smaller by 1px

This fixes 460896, but breaks the fix for 417511. It will be re-fixed again by
https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/644, without
any negative side effects.
FIXED-IN: 5.26.4

M  +2    -9    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/1abe11473bcaa282ad1b5087b8dbaab2329530de
Comment 24 Nate Graham 2022-11-24 18:00:05 UTC
Git commit 631841e00e204ba37da2367fe6b221ba6ab795b4 by Nate Graham, on behalf of Niccolò Venerandi.
Committed on 24/11/2022 at 17:00.
Pushed by ngraham into branch 'Plasma/5.26'.

Panel: Revert making the mask smaller by 1px

This fixes 460896, but breaks the fix for 417511. It will be re-fixed again by
https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/644, without
any negative side effects.
Related: bug 417511
FIXED-IN: 5.26.4
(cherry picked from commit 1abe11473bcaa282ad1b5087b8dbaab2329530de)

M  +2    -10   shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/631841e00e204ba37da2367fe6b221ba6ab795b4
Comment 25 Nate Graham 2022-11-30 21:21:28 UTC
*** Bug 462266 has been marked as a duplicate of this bug. ***