-
Notifications
You must be signed in to change notification settings - Fork 35.7k
Description
This is my attempt to find a suitable workaround to #224515, given that we will probably not see a proper resolution to that bug for a long time if ever. I have implemented a proof-of-concept and intend to submit a PR for this shortly.
Add a "Force Custom Menu Style" option - boolean, default false.
If false, behavior is unchanged. If true, and "Title Bar Style" is "native", and we're running on Linux or Windows (notably: not Mac*, not web), then we display the OS native title bar, but we display the custom menu bar below it, taking care not to repeat the window title. Of course, it affects context menus as well as the main menu bar. The result: a pleasant user experience while using the native title bar.
Compare with the screenshots from my comment here - unfortunately I can't show the same menu, since I understand it's not possible (not allowed) to use the Marketplace from an unofficial build of VS Code, but hopefully it should still illustrate the point.
By default, you'll also get the "Command Center" and "Layout Controls" showing up next to the menu, since this menu bar is really just the custom title bar, forced to be displayed. The above screenshot, showing the classic "separate title bar and menu bar, with no additional clutter" layout, was accomplished by just using the existing settings to hide these items.
(*I have assumed that this isn't applicable on Mac, based on basic knowledge of the Mac interface and various comments in the VS Code source, but I don't use Mac myself, so I have no way to test this. If someone else finds a reason why it'd be useful to have this feature on Mac as well, then feel free to enable it there.)