I’d like Mango to support a global menu/app menu workflow similar to macOS or KDE Plasma’s Global Menu. I understand Mango itself doesn't have a menubar, but, if I understand correctly, this metadata would have to come from the window manager/compositor for any menubar to be able to read it.
I think for maximum compatibility Mango would need to support both of these protocols. That way KDE/Qt-style clients may use the KDE appmenu protocol and GTK apps may use gtk_shell1.
-
org_kde_kwin_appmenu_manager :: This lets Wayland clients associate a wl_surface with a DBusMenu service name + object path.
-
gtk_shell1 :: GTK clients can expose menu metadata through set_dbus_properties, including DBus menu paths.
Within Scope (estimate):
- Mango tracks per-surface appmenu metadata
- Mango updates that metadata when the focused toplevel changes
- Mango exposes the focused window’s menu endpoint to external consumers, either through a Wayland protocol path, IPC, or both
- an external panel can then render the DBusMenu for the focused app
Out of Scope:
- perfect compatibility with every GTK/Qt/Electron/XWayland app
- shipping a full menubar UI inside Mango itself
I’d like Mango to support a global menu/app menu workflow similar to macOS or KDE Plasma’s Global Menu. I understand Mango itself doesn't have a menubar, but, if I understand correctly, this metadata would have to come from the window manager/compositor for any menubar to be able to read it.
I think for maximum compatibility Mango would need to support both of these protocols. That way KDE/Qt-style clients may use the KDE appmenu protocol and GTK apps may use
gtk_shell1.org_kde_kwin_appmenu_manager:: This lets Wayland clients associate awl_surfacewith a DBusMenu service name + object path.gtk_shell1:: GTK clients can expose menu metadata throughset_dbus_properties, including DBus menu paths.Within Scope (estimate):
Out of Scope: