Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows: Investigate custom menu implementation #29024

Closed
bpasero opened this issue Jun 19, 2017 · 12 comments
Closed

Windows: Investigate custom menu implementation #29024

bpasero opened this issue Jun 19, 2017 · 12 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality on-testplan ux User experience issues
Milestone

Comments

@bpasero
Copy link
Member

bpasero commented Jun 19, 2017

To fix 35+ menu issues: https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Amenu

@bpasero bpasero added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues labels Jun 19, 2017
@bpasero bpasero added this to the On Deck milestone Jun 19, 2017
@bpasero bpasero self-assigned this Jun 19, 2017
@WaiSiuKei
Copy link

Hi @bpasero, you can implement the menu in JS in a Browserwindow and then rendering the workbench in a Webview.

@bpasero
Copy link
Member Author

bpasero commented Aug 25, 2017

@WaiSiuKei why so complicated, the window can be frameless and own everything, including menu and title?

@WaiSiuKei
Copy link

WaiSiuKei commented Aug 25, 2017

Yes, the browserWindow can be frameless, with menu and title created by HTML. The reason is that when you click the menu, the activeElement of the webview will no change, only the webview itself will be blur, you can focus the webview back and send the actionId to webview just like the menu works now. The fous/blur issue is most concerned. An Opposite Example is ghedit , it inserts the menu before the workbench, but you will find that there is no copy/paste in the menu, it cannot impletement the functionality because the focus of editor is lost.

@bpasero
Copy link
Member Author

bpasero commented Aug 25, 2017

Ah good point, needs more thinking indeed.

@bpasero bpasero added the menu label Nov 11, 2017
@bpasero bpasero removed this from the On Deck milestone Dec 7, 2017
@bpasero bpasero added this to the On Deck milestone Dec 14, 2017
@sbatten
Copy link
Member

sbatten commented May 10, 2018

Results of investigation with other applications. The goal of this investigation is to see if a custom menu bar will solve the problems/issues being reported to us by testing other applications that have gone this route. GitHub Desktop use a combined menu/title and an Atom Plugin provides a similar design. We use notepad as a baseline that uses a true native menu bar to compare.

Accessibility

Issue GitHub Desktop Atom Plugin Notepad Result
27106 Not Fixed Fixed Fixed Fixed
25418 Fixed Fixed Not Fixed Fixed
19011 Fixed Fixed Fixed Fixed
17224 Not Fixed Not Fixed Not Fixed Not Fixed
17180 Fixed Not Fixed Not Fixed Fixed
17177 - - - Fixable
17172 Partial Fixed Partial Fixed
6140 Not Fixed Partial Fixed Fixed
5556 - - - Dupe of 27106
2945 - - - Dupe of 1569
1569 Fixed Fixed Fixed Fixed

Other Issues

Description Link
Alt-Key conflicts with custom keybindings 41070, 35010, 22488
Support for Global App Menu in Gnome 36667
Support when clauses in MenuBar Actions 35225
Request for Custom Menu Bar 34719, 16363
Request for Custom Title Bar 29997
Chords and Shortcuts displayed differently 33677
Toggling Menu Bar causes issues 21889, 16487, 32853, 10941
Dynamic Menu Bar Contributions 21131, 22359, 16627
Localization 4771
Editor context-aware menus 991

@bpasero bpasero assigned sbatten and unassigned bpasero May 17, 2018
@bpasero bpasero modified the milestones: On Deck, May 2018 May 17, 2018
@bpasero bpasero added feature-request Request for new features or functionality and removed under-discussion Issue is under discussion for relevance, priority, approach labels May 17, 2018
@kizomanizo
Copy link

When will this issue get some love from the DEV's? it will really be easy to the eyes.

@bpasero bpasero modified the milestones: May 2018, June 2018 Jun 1, 2018
@PurpleGranite
Copy link

Good to see this in the June 2018 Iteration plan - Item 33677 listed above should however be listed as an Accessibility issue due to the impact that differential positioning, shading and screen reader accessibility caused by that item for sight-impaired developers.

@eamodio
Copy link
Contributor

eamodio commented Jun 20, 2018

Loving the new custom menu's so far (minor issues aside) -- is the plan for them to be themable?

@sbatten
Copy link
Member

sbatten commented Jun 26, 2018

@eamodio yes, as of this moment they are just light and dark, but theming is coming.

@MulverineX
Copy link

MulverineX commented Jun 29, 2018

How do we use this, is it implemented in some pull request or update, because I'm on Insider builds and its not there, AFAIK. If its not released yet, how long until the update including this would at least come to insider.

@sbatten
Copy link
Member

sbatten commented Jun 29, 2018

@MulverineX Thank you for your interest. It is not currently enabled by default, but you can enable on Insiders by setting window.titleBarStyle to custom

@vscodebot vscodebot bot locked and limited conversation to collaborators Aug 10, 2018
@sbatten
Copy link
Member

sbatten commented Sep 14, 2018

This is enabled by default for Windows in Insiders and we intend to make it default for the stable release this milestone.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality on-testplan ux User experience issues
Projects
None yet
Development

No branches or pull requests

7 participants