Bug 495987 - Meta+V clipboard popup is sometimes narrower than expected on certain screens of mixed-DPI mixed-geometry multi-monitor setup
Summary: Meta+V clipboard popup is sometimes narrower than expected on certain screens...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Clipboard widget & pop-up (other bugs)
Version First Reported In: 6.2.3
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: multiscreen, regression
Depends on:
Blocks:
 
Reported: 2024-11-08 22:20 UTC by goo
Modified: 2025-04-19 02:19 UTC (History)
3 users (show)

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


Attachments
pressing Meta+V on a multi-monitor desktop (1.51 MB, video/mp4)
2024-11-08 22:20 UTC, goo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description goo 2024-11-08 22:20:11 UTC
Created attachment 175665 [details]
pressing Meta+V on a multi-monitor desktop

SUMMARY
I am running plasma on a desktop with 4 mixed resolutions monitors.
Pressing Meta+V to show the clipboard history at mouse position results in the applet's window showing in different and weird narrow geometries at times.

STEPS TO REPRODUCE
1. press multiple times Meta+V to open the clipboard applet
2. 
3. 

OBSERVED RESULT
The clipboard applet will open in different geometries everytime you press Meta+V

EXPECTED RESULT
The clipboard applet should open always with the same and usable geometry.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  6.12
KDE Plasma Version:  6.2.3
KDE Frameworks Version: 6.8
Qt Version: 6.8

ADDITIONAL INFORMATION

$ kscreen-doctor -i -o
Environment:
* KSCREEN_BACKEND           : [not set]
* KSCREEN_BACKEND_INPROCESS : [not set]
* KSCREEN_LOGGING           : [not set]
Logging to                : [logging disabled]
Preferred KScreen backend : KSC_KWayland.so
Available KScreen backends:
* KSC_Fake.so: /usr/lib64/qt6/plugins/kf6/kscreen/KSC_Fake.so
* KSC_KWayland.so: /usr/lib64/qt6/plugins/kf6/kscreen/KSC_KWayland.so
* KSC_QScreen.so: /usr/lib64/qt6/plugins/kf6/kscreen/KSC_QScreen.so
* KSC_XRandR.so: /usr/lib64/qt6/plugins/kf6/kscreen/KSC_XRandR.so

Output: 1 DP-1
enabled
connected
priority 1
DisplayPort
Modes:  1:2560x1440@60!  2:2560x1440@75*  3:2560x1440@72  4:2560x1440@60  5:2560x1440@50  6:2560x1440@48  7:1920x1200@60  8:1920x1080@75  9:1920x1080@60  10:1920x1080@60  11:1920x1080@60  12:1920x1080@50  13:1600x1200@60  14:1280x1440@60  15:1680x1050@60  16:1280x1024@75  17:1280x1024@60  18:1440x900@60  19:1280x960@60  20:1280x800@60  21:1280x720@60  22:1280x720@60  23:1280x720@60  24:1280x720@50  25:1024x768@75  26:1024x768@70  27:1024x768@60  28:832x624@75  29:800x600@75  30:800x600@72  31:800x600@60  32:800x600@56  33:720x576@50  34:720x576@50  35:720x480@60  36:720x480@60  37:720x480@60  38:720x480@60  39:640x480@75  40:640x480@73  41:640x480@67  42:640x480@60  43:640x480@60  44:640x480@60  45:720x400@70  46:1600x1200@60  47:1280x1024@60  48:1024x768@60  49:1920x1200@60  50:1280x800@60  51:2560x1440@60  52:1920x1080@60  53:1600x900@60  54:1368x768@60  55:1280x720@60
Geometry: 1920,761 2560x1440
Scale: 1
Rotation: 1
Overscan: 0
Vrr: Automatic
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Brightness control: supported, set to 82%
Output: 2 HDMI-A-1
enabled
connected
priority 4
HDMI
Modes:  56:1280x1024@60!  57:1280x1024@75*  58:1280x800@60  59:1152x864@75  60:1280x720@60  61:1024x768@75  62:1024x768@70  63:1024x768@60  64:832x624@75  65:800x600@75  66:800x600@72  67:800x600@60  68:800x600@56  69:640x480@75  70:640x480@73  71:640x480@67  72:640x480@60  73:720x400@70  74:1280x1024@60  75:1024x768@60  76:1280x800@60  77:1280x720@60
Geometry: 560,0 1280x1024
Scale: 1
Rotation: 4
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Brightness control: supported, set to 88%
Output: 3 DVI-D-1
enabled
connected
priority 2
DVI
Modes:  78:1920x1080@60*!  79:1680x1050@60  80:1280x1024@60  81:1440x900@60  82:1280x960@60  83:1280x800@60  84:1152x864@60  85:1280x720@60  86:1024x768@60  87:800x600@60  88:640x480@60  89:1280x1024@60  90:1024x768@60  91:1280x800@60  92:1920x1080@60  93:1600x900@60  94:1368x768@60  95:1280x720@60
Geometry: 0,1024 1920x1080
Scale: 1
Rotation: 1
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Brightness control: supported, set to 92%
Output: 4 HDMI-A-2
enabled
connected
priority 3
HDMI
Modes:  96:1920x1080@60*!  97:1920x1080@60  98:1920x1080@60  99:1920x1080@50  100:1920x1080@50  101:1680x1050@60  102:1600x900@60  103:1280x1024@60  104:1440x900@60  105:1280x800@60  106:1280x720@60  107:1280x720@60  108:1280x720@60  109:1280x720@50  110:1024x768@60  111:800x600@60  112:720x576@50  113:720x576@50  114:720x480@60  115:720x480@60  116:720x480@60  117:720x480@60  118:640x480@60  119:640x480@60  120:640x480@60  121:1280x1024@60  122:1024x768@60  123:1280x800@60  124:1920x1080@60  125:1600x900@60  126:1368x768@60  127:1280x720@60
Geometry: 4480,604 1080x1920
Scale: 1
Rotation: 2
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Brightness control: supported, set to 100%
Comment 1 Fushan Wen 2024-11-10 10:04:20 UTC
When the window becomes visible the attached screen might not be the current one, which might be a bug in Qt or Wayland.
Comment 2 goo 2024-11-10 22:06:21 UTC
(In reply to Fushan Wen from comment #1)
> When the window becomes visible the attached screen might not be the current
> one, which might be a bug in Qt or Wayland.

Actually I can say for sure that the same thing happens if before hitting ctrl+v I click on a window on the same screen where the clipboard history will appear, hence with the window appearing on the current active screen.
It all started after upgrading to plasma 6.2.
 
On a side note I have ActiveMouseScreen=0 set in kwinrc for the same reasons pointed here (I am also the author of that comment): 
https://invent.kde.org/plasma/kwin/-/merge_requests/5102#note_882547
Could it be the cause of this bug? 
Do I still need that option in kwinrc?
Comment 3 TraceyC 2024-11-18 22:22:50 UTC
I'm not able to reproduce this on Wayland, git-master with two screens

Laptop: 1920x1080@100%
Monitor:3440x1440@100%

In the kwinrc file on that machine this is the only value for ActiveMouseScreen:

[Windows]
ActiveMouseScreen[$d]
Comment 4 goo 2024-11-23 20:48:29 UTC
(In reply to TraceyC from comment #3)
> I'm not able to reproduce this on Wayland, git-master with two screens
> 
> Laptop: 1920x1080@100%
> Monitor:3440x1440@100%
> 

After a bunch more tests I can confirm that the behaviour is still the same and unpredictable:
1. If I try disabling two of the four screens setup, the clipboard popup still opens in different geometries.
2. If I login in plasma with only two screens, then I can't reproduce this bug. The clipboard popup retains the same dimension on the two screens.
3. I noticed that if I repedetly type meta+v, on every second hit the clipboard popup closes. This randomly happens only on the first and fourth monitor.

> In the kwinrc file on that machine this is the only value for
> ActiveMouseScreen:
> 
> [Windows]
> ActiveMouseScreen[$d]

After some more digging I don't think ActiveMouseScreen does anything anymore as each screen can now be the active one even if the mouse pointer is on another screen, by default. Removing ActiveMouseScreen from kwinrc didn't change anything.
Comment 5 Fushan Wen 2024-11-24 09:21:49 UTC
I can reproduce it. The window doesn't always follow the current mouse cursor, so is the window size.
Comment 6 David Redondo 2025-04-11 09:58:09 UTC
Git commit ed1eef0c4540025a7df308f4393bbca0fe26d8c4 by David Redondo.
Committed on 11/04/2025 at 09:42.
Pushed by davidre into branch 'master'.

xdgshellwindow: Keep window on ouput when opening under cursor

M  +1    -1    src/xdgshellwindow.cpp

https://invent.kde.org/plasma/kwin/-/commit/ed1eef0c4540025a7df308f4393bbca0fe26d8c4
Comment 7 Bug Janitor Service 2025-04-11 09:58:56 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7494
Comment 8 David Redondo 2025-04-11 10:20:18 UTC
Git commit b210c6bd4595450ba6fdbd03b112b851690ca7aa by David Redondo.
Committed on 11/04/2025 at 09:58.
Pushed by davidre into branch 'Plasma/6.3'.

xdgshellwindow: Keep window on ouput when opening under cursor


(cherry picked from commit ed1eef0c4540025a7df308f4393bbca0fe26d8c4)

Co-authored-by: David Redondo <kde@david-redondo.de>

M  +1    -1    src/xdgshellwindow.cpp

https://invent.kde.org/plasma/kwin/-/commit/b210c6bd4595450ba6fdbd03b112b851690ca7aa
Comment 9 Bug Janitor Service 2025-04-11 17:11:39 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5387
Comment 10 Fushan Wen 2025-04-14 13:10:15 UTC
Git commit 49a12c567bd3d0297e138f07b5d91190eb89e33e by Fushan Wen.
Committed on 14/04/2025 at 12:28.
Pushed by fusionfuture into branch 'master'.

klipper: fix clipboard popup not showing on the correct screen on X11

The popup size needs to be confined to the current screen area.
FIXED-IN: 6.4

M  +2    -0    klipper/declarative/qml/KlipperPopup.qml
M  +27   -8    klipper/klipperpopup.cpp
M  +1    -0    klipper/klipperpopup.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/49a12c567bd3d0297e138f07b5d91190eb89e33e
Comment 12 Fushan Wen 2025-04-19 02:19:14 UTC
Git commit 6020fac47297b60d6220fe48b03800bd36ea9c8c by Fushan Wen.
Committed on 19/04/2025 at 02:18.
Pushed by fusionfuture into branch 'master'.

klipper: fix popup not following size of active screen on Wayland

The window needs to be resized before it becomes visible on Wayland.
FIXED-IN: 6.4

M  +5    -5    klipper/declarative/qml/KlipperPopup.qml
M  +18   -4    klipper/klipperpopup.cpp
M  +1    -1    klipper/klipperpopup.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/6020fac47297b60d6220fe48b03800bd36ea9c8c