Bug 506170 - Global menu widget doesn't work in single-button mode on X11
Summary: Global menu widget doesn't work in single-button mode on X11
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Global Menu widget (other bugs)
Version First Reported In: 6.4.1
Platform: Arch Linux Linux
: HI major
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: regression
: 506172 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-06-25 16:15 UTC by Kishore Gopalakrishnan
Modified: 2025-07-12 15:07 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.4.2 for Wayland users only
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kishore Gopalakrishnan 2025-06-25 16:15:56 UTC
SUMMARY
If a global menu widget on a panel is in single-button mode (right-click > configure Global Menu > Appearance > 'use a single button for application menu'), clicking on the menu does nothing even when an application that uses the global menu is focused. However, the menu is correctly shown and usable in 'show full application menu' mode.

STEPS TO REPRODUCE
1.  Place a global menu widget on your panel, and re-login
2. Right-click on the global menu, go to 'configure Global Menu > Appearance' and select 'use a single button for application menu'
3. Open an application like Kate that makes use of the Global menu
4. Click on the global menu widget in the panel

OBSERVED RESULT
Nothing happens

EXPECTED RESULT
Open a popup showing the application menu

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.4.1
KDE Frameworks Version: 6.15.0
Qt Version: 6.10.0
Kernel Version: 6.12.34-1-lts (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
Even when the global menu widget is not working, other components that use the dbus-exported application menu work fine (e.g. https://github.com/Kishore96in/krunner-appmenu ).

I first noticed this issue in Plasma 6.4.0 (after upgrading from 6.3.5).
Comment 1 Nate Graham 2025-06-25 16:58:46 UTC
*** Bug 506172 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2025-06-25 17:02:14 UTC
Can confirm.
Comment 4 Bug Janitor Service 2025-06-27 08:47:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5630
Comment 5 Nate Graham 2025-06-30 11:53:28 UTC
Git commit 67374f9e659cfd17c0cb4d7eba0a92a08a72c2d9 by Nate Graham, on behalf of Niccolò Venerandi.
Committed on 30/06/2025 at 11:21.
Pushed by niccolove into branch 'master'.

Do not create multiple QMenu when global menu is set to compact

The multiple menus are only required when the global menu is in its
full size; when in compact view, only one is needed.

M  +21   -12   applets/appmenu/lib/appmenuapplet.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/67374f9e659cfd17c0cb4d7eba0a92a08a72c2d9
Comment 6 Niccolò Venerandi 2025-06-30 11:55:13 UTC
Git commit 0ce9b2204da994078a739fc8e6bfffd2a9c828fa by Niccolò Venerandi.
Committed on 30/06/2025 at 11:55.
Pushed by niccolove into branch 'Plasma/6.4'.

Do not create multiple QMenu when global menu is set to compact

The multiple menus are only required when the global menu is in its
full size; when in compact view, only one is needed.


(cherry picked from commit 67374f9e659cfd17c0cb4d7eba0a92a08a72c2d9)

Co-authored-by: Niccolò Venerandi <niccolo@venerandi.com>

M  +21   -12   applets/appmenu/lib/appmenuapplet.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/0ce9b2204da994078a739fc8e6bfffd2a9c828fa
Comment 7 8py 2025-07-05 23:35:38 UTC
Updated to:
Name            : plasma-desktop
Version         : 6.4.2-1

On Arch Linux, and bug still persists. Just wanted to report it. Maybe it will not be until next release (6.4.2-2 or something not really sure). The bug has not been resolved yet though on my system. Just wanted to report it here in case anyone else is still having this issue.
Comment 8 8py 2025-07-09 20:15:23 UTC
I couldn't figure out how to edit my comment, so making a new one. Apparently, this bug is fixed for wayland users, just not x11 users. Will it not be fixed for x11 too? Should I remove this applet since I use x11? Or is there still a fix in the works for x11 users? Okay, thanks for any insight.
Comment 9 TraceyC 2025-07-09 21:53:49 UTC
(In reply to 8py from comment #8)
> I couldn't figure out how to edit my comment, so making a new one.
> Apparently, this bug is fixed for wayland users, just not x11 users. Will it
> not be fixed for x11 too? Should I remove this applet since I use x11? Or is
> there still a fix in the works for x11 users? Okay, thanks for any insight.

I don't see anything to indicate this is fixed for Wayland but not X11. The fix was tagged for 6.4.2, but since you're still experiencing this bug, I'll reopen the report.
Comment 10 Guido 2025-07-10 17:43:16 UTC
(In reply to TraceyC from comment #9)
> (In reply to 8py from comment #8)
> > I couldn't figure out how to edit my comment, so making a new one.
> > Apparently, this bug is fixed for wayland users, just not x11 users. Will it
> > not be fixed for x11 too? Should I remove this applet since I use x11? Or is
> > there still a fix in the works for x11 users? Okay, thanks for any insight.
> 
> I don't see anything to indicate this is fixed for Wayland but not X11. The
> fix was tagged for 6.4.2, but since you're still experiencing this bug, I'll
> reopen the report.

I confirm the bug persists in X11 session.
Comment 11 Guido 2025-07-10 17:46:33 UTC
(In reply to TraceyC from comment #9)
> (In reply to 8py from comment #8)
> > I couldn't figure out how to edit my comment, so making a new one.
> > Apparently, this bug is fixed for wayland users, just not x11 users. Will it
> > not be fixed for x11 too? Should I remove this applet since I use x11? Or is
> > there still a fix in the works for x11 users? Okay, thanks for any insight.
> 
> I don't see anything to indicate this is fixed for Wayland but not X11. 



+ if (KWindowSystem::isPlatformWayland() && view() == CompactView) {
+           m_currentMenu->popup(pos);
+          connect(actionMenu, &QMenu::aboutToHide, this, &AppMenuApplet::onMenuAboutToHide, Qt::UniqueConnection);
+      }