The Problem
Currently there are 3 options for “Window Controls and Menus”:
- Default Window Controls and Menubar: Lets the compositor draw both
- Default Window Controls and Auto-Hiding Menubar: Lets compositor draw the window controls, shows a menu if ‘Alt’ is pressed (requires compositor support)
- Custom Window Fram and Right-Hand Menu: Mailspring draws the window controls, adds a button for the menu
These options work great on X11. However with the new Electron version, Mailspring is defaulting to Wayland. And wayland menu export (at least for global menus) does not work on QT based desktop environments (like KDE, which is one of the most used ones).
This means, that the first two methods simply do not expose a menu, while the third option has a menu button, but doesn’t integrate at all with the DE. The controls are completely out of place, there is no window shadow, etc.
Proposed Solution
I propose adding a fourth option:
Let the compositor draw window decoration (controls, shadow, etc), but do not export a menu. Instead show the same button in the upper right corner like in the third option. Maybe even default to this on KDE Plasma Wayland session.
Alternative Solutions
Get the Wayland, QT, GTK, Electron, KDE, Gnome, etc people to agree on way to do global protocols lol.
(Making sure you're not a bot! for example)