Bug 498111 - The sub-menu of a window's title bar context menu is truncated and transparent on first invocation, if a secondary monitor is placed to the left of the active primary monitor
Summary: The sub-menu of a window's title bar context menu is truncated and transparen...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (other bugs)
Version First Reported In: 6.2.4
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: multiscreen
: 489186 495363 498697 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-01-01 07:14 UTC by Julien Delquié
Modified: 2025-07-02 16:28 UTC (History)
9 users (show)

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


Attachments
contextual menu issue (1.25 MB, video/webm)
2025-01-01 07:14 UTC, Julien Delquié
Details
Malformed popup (239.91 KB, image/png)
2025-04-20 07:39 UTC, Oleg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Delquié 2025-01-01 07:14:03 UTC
Created attachment 177010 [details]
contextual menu issue

SUMMARY
When context menu is invoked for the first time on the title bar of a window, sub-context menu is partially (nearly totally?) a « ghost » version of itself (truncated and a problem of transparency, I mean).

The record in attachment shows the issue better than I describe it.

STEPS TO REPRODUCE
1. login to plasmashell
2. open an application
3. right-click on the title bar of the corresponding window
4. navigate through the contextual menu from top to down

OBSERVED RESULT
sub-contextual menu is not fully showing itself.

EXPECTED RESULT
sub-contextual menu is fully showing itself.

SOFTWARE/OS VERSIONS
Operating System: Gentoo Linux 2.17
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.9.0
Qt Version: 6.8.1
Kernel Version: 6.12.7-gentoo-x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-9700K CPU @ 3.60GHz
Memory: 31.3 Gio of RAM
Graphics Processor: AMD Radeon RX 7800 XT

ADDITIONAL INFORMATION
The issue happens only once during the session; only on the first window where contextual menu is invoked. If the contextual menu is navigated from down to top (instead of top to down), the sub-contextual menu reappears! And the bug doesn’t show anymore during all the session, on any window.

This bug exists since many versions, I reported it here only today because now I have time to do it.
Comment 1 Julien Delquié 2025-01-01 07:23:19 UTC
In addition, I have tested also under X11, the issue does not appear on X11. Only under Wayland.
Comment 2 David Edmundson 2025-01-02 14:53:26 UTC
*** Bug 495363 has been marked as a duplicate of this bug. ***
Comment 3 David Edmundson 2025-01-02 14:53:46 UTC
*** Bug 489186 has been marked as a duplicate of this bug. ***
Comment 4 David Edmundson 2025-01-02 15:03:15 UTC
I remember fixing something with a kwin menu a while back, but i now can't find a link.
I definitely cannot reproduce anymore. Please confirm if this is still an issue with Plasma 6.3 and reopen if not.
Comment 5 Oleg 2025-04-20 07:39:16 UTC
Created attachment 180426 [details]
Malformed popup

I can still experience this

Operating System: Arch Linux 
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.12.0
Qt Version: 6.9.0
Kernel Version: 6.14.2-2-cachyos (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 9800X3D 8-Core Processor
Memory: 62.5 ГиБ of RAM
Graphics Processor: AMD Radeon RX 6700 XT
Manufacturer: ASUS
Comment 6 Oleg 2025-04-20 07:40:39 UTC
Reopen
Comment 7 Lenzoid 2025-04-20 16:51:59 UTC
I'm unable to reproduce this on git-master. I tried also changing language to German, logged back in, all was ok. Both affected people, have non-english display language. Maybe try setting it to english en_US.utf-8 and see if the problem still occurs?

Operating System: Arch Linux 
KDE Plasma Version: 6.3.80
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.2-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5700X3D 8-Core Processor
Memory: 32 GiB of RAM (31.3 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 2070 SUPER
Manufacturer: Micro-Star International Co., Ltd.
Product Name: MS-7B85
System Version: 1.0
Comment 8 madness742 2025-05-09 02:00:01 UTC
(In reply to Lenzoid from comment #7)
> Maybe try setting it to english en_US.utf-8 and see if the problem still occurs?

Oddly enough, I cannot reproduce this on my laptop that is set to "nl_NL.UTF-8", but I can reproduce this on my desktop which is set to "en_US.UTF-8"

Both computers are running the same distro.

Operating System: Fedora Linux 42
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0
Kernel Version: 6.14.5-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland

Desktop specs:
CPU: AMD Ryzen 9 7950X3D
GPU 1: AMD Radeon RX 7900 XTX (Dedicated)
GPU 2: AMD Radeon Graphics (Integrated)

Laptop specs:
CPU: Intel Core 2 Duo T9400
GPU 1: Mesa Mobile Intel GM45 Express Chipset
Comment 9 madness742 2025-05-09 13:27:45 UTC
It seems that having a second monitor is causing this issue on my desktop. 

But only if the primary monitor is set to the right of the left monitor. Scaling doesn't seem to matter, as it's still reproducible with 100% scaling on both monitors.

To reproduce:
1. Connect two monitors.
2. Place the second monitor *left* of the primary monitor.
3. Restart the system.
4. Launch any application on the primary monitor.
5. Hit "ALT+F3" and hover with the mouse over "Desktops", "Move to Screen" or "More Actions".

My current screen configuration:
```
Output: 1 DP-1
        enabled
        connected
        priority 1
        DisplayPort
        Modes:  1:2560x1440@144!  2:2560x1440@120*  3:2560x1440@100  4:2560x1440@60  5:1920x1200@144  6:1920x1080@75  7:1920x1080@60  8:1920x1080@60  9:1920x1080@60  10:1920x1080@50  11:1600x1200@144  12:1680x1050@60  13:1600x900@60  14:1280x1024@75  15:1280x1024@60  16:1440x900@144  17:1280x800@60  18:1152x864@60  19:1280x720@60  20:1280x720@60  21:1280x720@60  22:1280x720@50  23:1024x768@75  24:1024x768@60  25:800x600@75  26:800x600@60  27:720x480@60  28:720x480@60  29:640x480@75  30:640x480@60  31:640x480@60  32:640x480@60  33:1600x1200@60  34:1280x1024@60  35:1024x768@60  36:1920x1200@60  37:2560x1440@60  38:1920x1080@60  39:1600x900@60  40:1368x768@60  41:1280x720@60 
        Geometry: 1080,485 1920x1080
        Scale: 1.33333
        Rotation: 1
        Overscan: 0
        Vrr: Never
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 50% and dimming to 100%
Output: 2 DP-3
        enabled
        connected
        priority 2
        DisplayPort
        Modes:  42:3840x2160@60*!  43:3840x2160@30  44:2560x1440@60  45:1920x1200@60  46:1920x1080@60  47:1920x1080@60  48:1920x1080@60  49:1600x1200@60  50:1680x1050@60  51:1600x900@60  52:1280x1024@60  53:1440x900@60  54:1280x800@60  55:1152x864@60  56:1280x720@60  57:1280x720@60  58:1280x720@60  59:1024x768@60  60:800x600@60  61:720x480@60  62:720x480@60  63:640x480@60  64:640x480@60  65:640x480@60  66:1600x1200@60  67:1280x1024@60  68:1024x768@60  69:2560x1600@60  70:1920x1200@60  71:3200x1800@60  72:2880x1620@60  73:2560x1440@60  74:1920x1080@60  75:1600x900@60  76:1368x768@60  77:1280x720@60 
        Geometry: 0,0 1080x1920
        Scale: 2
        Rotation: 2
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 50% and dimming to 100%
```
Comment 10 John Kizer 2025-05-14 06:01:45 UTC
Hi - could the original reporter please check and confirm if this is multiscreen issue on their device?

Thanks!
Comment 11 Julien Delquié 2025-05-14 07:17:15 UTC
(In reply to John Kizer from comment #10)
> Hi - could the original reporter please check and confirm if this is
> multiscreen issue on their device?
> 
> Thanks!

Hello, yes, I confirm it still happens, and I use multi-screen.
Principal screen (DP) is on the right, secondary screen (HDMI) is on the left.

Operating System: Gentoo Linux 2.17
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.3
Kernel Version: 6.14.6-gentoo-dist (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-9700K CPU @ 3.60GHz
Memory: 31.3 Gio of RAM
Graphics Processor: AMD Radeon RX 7800 XT

For information, I also own a Framework 13.
Comment 12 Julien Delquié 2025-05-14 07:19:53 UTC
> For information, I also own a Framework 13.
And I have the same issue with it (Framework on the right (secondary), Principal on the middle, Secondary on the left), and I use a Dell dock.
Comment 13 Vlad Zahorodnii 2025-05-15 07:18:14 UTC
(In reply to madness742 from comment #9)
> To reproduce:
> 1. Connect two monitors.
> 2. Place the second monitor *left* of the primary monitor.
> 3. Restart the system.
> 4. Launch any application on the primary monitor.
> 5. Hit "ALT+F3" and hover with the mouse over "Desktops", "Move to Screen"
> or "More Actions".

I can reproduce the bug following these steps, great \o/
Comment 14 Bug Janitor Service 2025-05-15 11:16:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7617
Comment 15 Vlad Zahorodnii 2025-05-15 13:03:02 UTC
Git commit 3dc5cee6b34792486b343098e55e7f2b90dfcd00 by Vlad Zahorodnii.
Committed on 15/05/2025 at 12:09.
Pushed by vladz into branch 'master'.

plugins/qpa: Send Move and Resize events for invisible windows

This is to ensure that QWindow size is properly synchronized with QMenu size.

If the QWindow screen changes (it can happen if the menu is going to appear
on a screen other than QGuiApplication::primaryScreen()), QWindow will call
QGuiApplication::processGeometryChangeEvent(). It may generate a resize event
and change the size of the QMenu.

If there's a follow up setGeometry() for the QWindow, a resize event must
be generated otherwise the QMenu will get stuck with a wrong size. QtXCB
operates in a similar fashion, it'll call handleGeometryChange() even though
the window is hidden.

M  +1    -1    src/plugins/qpa/window.cpp

https://invent.kde.org/plasma/kwin/-/commit/3dc5cee6b34792486b343098e55e7f2b90dfcd00
Comment 16 Julien Delquié 2025-05-15 18:34:20 UTC
I managed to apply this patch on top of kwin 6.5.3 on my Gentoo, and can confirm the issue is vanished!
Thank you very much. :)
Comment 17 Vlad Zahorodnii 2025-07-02 09:59:56 UTC
*** Bug 498697 has been marked as a duplicate of this bug. ***