Bug 455929 - Appmenu is not exported again when windows are toggled from tray icon.
Summary: Appmenu is not exported again when windows are toggled from tray icon.
Status: REPORTED
Alias: None
Product: kded-appmenu
Classification: Frameworks and Libraries
Component: menu exporter (other bugs)
Version First Reported In: 5.25.1
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-25 17:26 UTC by Lemuel Simon
Modified: 2022-06-25 17:31 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lemuel Simon 2022-06-25 17:26:08 UTC
SUMMARY
Referring to the bug reports here: https://github.com/Zren/material-decoration/issues/63 and here: https://bugs.kde.org/show_bug.cgi?id=455152


STEPS TO REPRODUCE
1. Launch Strawberry(Qt5) or Claws Mail (GTK3) with their tray icons enabled.
2. Toggle-show Strawberry's/Claw's main window with tray icon.
3. Close main window by clicking 'X' (the tray icon should still be there).
4. Press Strawberry/Claws tray icon to show the main window again.

OBSERVED RESULT
The appmenu is no longer exported; KDE's Global Menu, Psifodotos' Appmenu and Zren's Material LIM no longer display the menu. Running `xprop` on Strawberry confirms that the menu is no longer exported.

EXPECTED RESULT
The Global Menu is exported.

ADDITIONAL INFORMATION
For testing, I've launched an XFCE session with Valapanel's Appmenu (https://gitlab.com/vala-panel-project/vala-panel-appmenu) and tried to replicate the bug, but it doesn't occur there at all.  Strawberry's and Claw's menus are always displayed when the main window is visible, even when going through the aforementioned steps. So, I believe it is an issue with how the appmenu is exported in KDE's service daemon. 

Here is some output from `xprop -f _NET_WM_ICON 8i | sort`:

When Claws Mail (GTK3) works:
```
 bitmap id # of mask for icon: 0x2e0001d
                bitmap id # to use for icon: 0x2e00016
                Client accepts input or input focus: True
_GTK_MENUBAR_OBJECT_PATH(UTF8_STRING) = "/org/appmenu/gtk/window/0"
_GTK_THEME_VARIANT(UTF8_STRING) = "dark"
_GTK_UNIQUE_BUS_NAME(UTF8_STRING) = ":1.384"
                icon window: 0x0
                Initial state is Normal State.
_KDE_NET_WM_ACTIVITIES(STRING) = "b7a1258d-7ce5-442f-a07e-134d0e623274"
_KDE_NET_WM_APPMENU_OBJECT_PATH(STRING) = "/MenuBar/26"
_KDE_NET_WM_APPMENU_SERVICE_NAME(STRING) = "org.kde.plasma.gmenu_dbusmenu_proxy"
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 24, 0
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 138810479
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 24, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_NET_WM_DESKTOP(CARDINAL) = 1
_NET_WM_ICON(CARDINAL): Type mismatch: assumed size 8 bits, actual size 32 bits.
_NET_WM_ICON_GEOMETRY(CARDINAL) = 245, 740, 36, 28
_NET_WM_ICON_NAME(UTF8_STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
_NET_WM_NAME(UTF8_STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1044, 609
_NET_WM_PID(CARDINAL) = 4986
_NET_WM_STATE(ATOM) = 
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234501, 48234502
_NET_WM_USER_TIME(CARDINAL) = 138820050
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e00004
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
                program specified base size: 320 by 200
                program specified location: 0, 0
                program specified minimum size: 320 by 200
_UNITY_OBJECT_PATH(UTF8_STRING) = "/org/appmenu/gtk/window/0"
                window gravity: NorthWest
                window id # of group leader: 0x2e00001
                window state: Normal
WM_CLASS(STRING) = "claws-mail", "Claws-mail"
WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
WM_CLIENT_MACHINE(STRING) = "Leap.T430"
WM_HINTS(WM_HINTS):
WM_ICON_NAME(STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_NAME(STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_STATE(WM_STATE):
WM_WINDOW_ROLE(STRING) = "mainwindow"
XdndAware(ATOM) = BITMAP
```

When Claws Mail (GTK3) doesn't work:
```
bitmap id # of mask for icon: 0x2e0001d
                bitmap id # to use for icon: 0x2e00016
                Client accepts input or input focus: True
_GTK_MENUBAR_OBJECT_PATH(UTF8_STRING) = "/org/appmenu/gtk/window/0"
_GTK_THEME_VARIANT(UTF8_STRING) = "dark"
_GTK_UNIQUE_BUS_NAME(UTF8_STRING) = ":1.384"
                icon window: 0x0
                Initial state is Normal State.
_KDE_NET_WM_ACTIVITIES(STRING) = "b7a1258d-7ce5-442f-a07e-134d0e623274"
_KDE_NET_WM_APPMENU_OBJECT_PATH(STRING) = "/MenuBar/27"
_KDE_NET_WM_APPMENU_SERVICE_NAME(STRING) = "org.kde.plasma.gmenu_dbusmenu_proxy"
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 24, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 24, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_NET_WM_DESKTOP(CARDINAL) = 1
_NET_WM_ICON(CARDINAL): Type mismatch: assumed size 8 bits, actual size 32 bits.
_NET_WM_ICON_GEOMETRY(CARDINAL) = 245, 740, 36, 28
_NET_WM_ICON_NAME(UTF8_STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
_NET_WM_NAME(UTF8_STRING) = "20180611@roytec.edu@outlook.office365.com - Claws Mail 4.0.0"
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1044, 609
_NET_WM_PID(CARDINAL) = 4986
_NET_WM_STATE(ATOM) = 
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234501, 48234502
_NET_WM_USER_TIME(CARDINAL) = 138946962
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e00004
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
                program specified base size: 320 by 200
                program specified location: 0, 0
                program specified minimum size: 320 by 200
_UNITY_OBJECT_PATH(UTF8_STRING) = "/org/appmenu/gtk/window/0"
                window gravity: NorthWest
                window id # of group leader: 0x2e00001
                window state: Normal
WM_CLASS(STRING) = "claws-mail", "Claws-mail"
WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
WM_CLIENT_MACHINE(STRING) = "Leap.T430"
WM_HINTS(WM_HINTS):
WM_ICON_NAME(STRING) = "xxxxxxxx@xxxx.xxx@outlook.office365.com - Claws Mail 4.0.0"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_NAME(STRING) = "xxxxxxxx@xxxx.xxx@outlook.office365.com - Claws Mail 4.0.0"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_STATE(WM_STATE):
WM_WINDOW_ROLE(STRING) = "mainwindow"
XdndAware(ATOM) = BITMAP
```
!!!Notice the change in '_KDE_NET_WM_APPMENU_OBJECT_PATH(STRING)' values.

When Strawberry works:
```
Client accepts input or input focus: True
                icon window: 0x0
_KDE_NET_WM_ACTIVITIES(STRING) = "b7a1258d-7ce5-442f-a07e-134d0e623274"
_KDE_NET_WM_APPMENU_OBJECT_PATH(STRING) = "/MenuBar/1"
_KDE_NET_WM_APPMENU_SERVICE_NAME(STRING) = ":1.1468"
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 22, 0
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 56205709
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 22, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_NET_WM_DESKTOP(CARDINAL) = 4294967295
_NET_WM_ICON(CARDINAL): Type mismatch: assumed size 8 bits, actual size 32 bits.
_NET_WM_ICON_GEOMETRY(CARDINAL) = 169, 740, 36, 28
_NET_WM_ICON_NAME(UTF8_STRING) = 
_NET_WM_NAME(UTF8_STRING) = "Strawberry Music Player"
_NET_WM_PID(CARDINAL) = 10883
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FOCUSED, _NET_WM_STATE_SKIP_PAGER
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 35651591
_NET_WM_USER_TIME(CARDINAL) = 59952673
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
                program specified minimum size: 658 by 215
                user specified location: 114, 70
                user specified size: 1138 by 630
                window gravity: Static
                window id # of group leader: 0x2200008
                window state: Normal
WM_CLASS(STRING) = "strawberry", "strawberry"
WM_CLIENT_LEADER(WINDOW): window id # 0x2200008
WM_CLIENT_MACHINE(STRING) = "Leap.T430"
WM_HINTS(WM_HINTS):
WM_NAME(STRING) = "Strawberry Music Player"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_STATE(WM_STATE):
XdndAware(ATOM) = BITMAP
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
```

When Strawberry doesn't work:
```
           Client accepts input or input focus: True
                icon window: 0x0
_KDE_NET_WM_ACTIVITIES(STRING) = "b7a1258d-7ce5-442f-a07e-134d0e623274"
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 22, 0
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 60054173
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 22, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_NET_WM_DESKTOP(CARDINAL) = 4294967295
_NET_WM_ICON(CARDINAL): Type mismatch: assumed size 8 bits, actual size 32 bits.
_NET_WM_ICON_GEOMETRY(CARDINAL) = 169, 740, 36, 28
_NET_WM_ICON_NAME(UTF8_STRING) = 
_NET_WM_NAME(UTF8_STRING) = "Strawberry Music Player"
_NET_WM_PID(CARDINAL) = 10883
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_PAGER
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 35651614
_NET_WM_USER_TIME(CARDINAL) = 60052297
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
                program specified minimum size: 658 by 215
                user specified location: 114, 70
                user specified size: 1138 by 630
                window gravity: Static
                window id # of group leader: 0x2200008
                window state: Normal
WM_CLASS(STRING) = "strawberry", "strawberry"
WM_CLIENT_LEADER(WINDOW): window id # 0x2200008
WM_CLIENT_MACHINE(STRING) = "Leap.T430"
WM_HINTS(WM_HINTS):
WM_NAME(STRING) = "Strawberry Music Player"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_STATE(WM_STATE):
XdndAware(ATOM) = BITMAP
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x
```
!!!Notice that the 'KDE_NET_WM_APPMENU' lines are missing.

Operating System: openSUSE Leap 15.4
KDE Plasma Version: 5.25.1
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.2
Kernel Version: 5.14.21-150400.22-default (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-3320M CPU @ 2.60GHz
Memory: 7.6 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 4000
Comment 1 Lemuel Simon 2022-06-25 17:31:58 UTC
(In reply to Lemuel Simon from comment #0)
> SUMMARY
> Referring to the bug reports here:
> https://github.com/Zren/material-decoration/issues/63 and here:
> https://bugs.kde.org/show_bug.cgi?id=455152
 
Forgot to add the rest of the Summary...
The appmenu of Claws Mail (GTK 3) and Strawberry(Qt5/6) will stop being exported if they are toggled by tray icons. If the main window for Strawberry was exited, the main window will respawn from the tray without the menu being exported. With Claws Mail, the bug is triggered by simply toggling the main window with the tray icon. In both instances, one must relaunch the applications to see the menus exported again.