Bug 479926 - De-floated left screen edge floating panel panel has incorrect hover and click areas on its right side
Summary: De-floated left screen edge floating panel panel has incorrect hover and clic...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: master
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-17 00:22 UTC by Nate Graham
Modified: 2024-01-17 19:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0


Attachments
Screen recording (557.23 KB, video/webm)
2024-01-17 00:34 UTC, Nate Graham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2024-01-17 00:22:43 UTC
Today's git master with Plasma 6 Wayland.


STEPS TO REPRODUCE
1. Ensure panel is floating
2. Move it to left screen edge
3. Maximize a window to make it de-float


OBSERVED RESULT
There's a column of pixels on the right edge of the panel where applets and Task Manager tasks don't become highlighted when hovered, left-clicks are eaten, and right-clicks show the context menu for the desktop rather than for the thing you right-clicked on


EXPECTED RESULT
Hover and click area for the thing you've obviously hovering with the pointer extends all the way to its visual bounds at the right edge of the de-floated panel


ADDITIONAL INFORMATION
- Happens at 200% scale as well as 225% scale.
- Persists after restarting plasmashell.
- Does not happen with a bottom, top, or right screen edge panel.
- Does not happen with a non-floating panel.
- Does not happen when a floating panel is floating.
Comment 1 Nate Graham 2024-01-17 00:34:33 UTC
Created attachment 164965 [details]
Screen recording
Comment 2 Bug Janitor Service 2024-01-17 09:25:13 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3773
Comment 3 Nate Graham 2024-01-17 18:13:11 UTC
Git commit 21a1b654fe470437a4ff7954b370cf5a88a7c98d by Nate Graham, on behalf of David Redondo.
Committed on 17/01/2024 at 18:45.
Pushed by ngraham into branch 'master'.

panelview: Set the actual mask on wayland

QWindow::mask sets the input regio, since the window contents
are shifted away from (0, 0) for top and left panels,
setting the mask without offset made the input region cover
only part of the panel.
FIXED-IN:6.0

M  +2    -2    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/21a1b654fe470437a4ff7954b370cf5a88a7c98d
Comment 4 Nate Graham 2024-01-17 18:13:19 UTC
Git commit ca16336c4f0c849bef2eedae217395acc06062f4 by Nate Graham, on behalf of David Redondo.
Committed on 17/01/2024 at 18:45.
Pushed by ngraham into branch 'master'.

panelview: Set the correct mask

QWindow::mask sets the input regio, since the window contents
are shifted away from (0, 0) for top and left panels,
setting the mask without offset made the input region cover
only part of the panel.
Dont intersect the mask with the screenPane, it needs to be in window
local coordinates, geometryByDistance returns a rect in global coordinates.
FIXED-IN:6.0

M  +2    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/ca16336c4f0c849bef2eedae217395acc06062f4
Comment 5 Nate Graham 2024-01-17 19:10:21 UTC
Git commit 237baf154f0e862c7e8b729e7e798d57f20025db by Nate Graham, on behalf of David Redondo.
Committed on 17/01/2024 at 19:16.
Pushed by ngraham into branch 'Plasma/6.0'.

panelview: Set the actual mask on wayland

QWindow::mask sets the input regio, since the window contents
are shifted away from (0, 0) for top and left panels,
setting the mask without offset made the input region cover
only part of the panel.
FIXED-IN:6.0

(cherry picked from commit 21a1b654fe470437a4ff7954b370cf5a88a7c98d)

M  +2    -2    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/237baf154f0e862c7e8b729e7e798d57f20025db
Comment 6 Nate Graham 2024-01-17 19:10:29 UTC
Git commit a2ab30ddce476aea5c6548b01c785f173396ea04 by Nate Graham, on behalf of David Redondo.
Committed on 17/01/2024 at 19:16.
Pushed by ngraham into branch 'Plasma/6.0'.

panelview: Set the correct mask

QWindow::mask sets the input regio, since the window contents
are shifted away from (0, 0) for top and left panels,
setting the mask without offset made the input region cover
only part of the panel.
Dont intersect the mask with the screenPane, it needs to be in window
local coordinates, geometryByDistance returns a rect in global coordinates.
FIXED-IN:6.0
(cherry picked from commit ca16336c4f0c849bef2eedae217395acc06062f4)

M  +2    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/a2ab30ddce476aea5c6548b01c785f173396ea04