-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
enable dynamic menu on linux/windows #59936
Conversation
workaround to fix microsoft#33457
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some feedback provided
@@ -36,6 +36,9 @@ export class Menubar { | |||
private closedLastWindow: boolean; | |||
|
|||
private menuUpdater: RunOnceScheduler; | |||
private menuGC: RunOnceScheduler; | |||
|
|||
private oldMenus: Menu[]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sbatten this needs a comment at least why we are doing it with a reference to the electron issue and a TODO to remove this when Electron fixed it!
@@ -56,6 +59,8 @@ export class Menubar { | |||
) { | |||
this.menuUpdater = new RunOnceScheduler(() => this.doUpdateMenu(), 0); | |||
|
|||
this.menuGC = new RunOnceScheduler(() => { this.oldMenus = this.oldMenus.slice(this.oldMenus.length - 1); }, 10000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sbatten I am not sure it helps to always keep the last menu around, I would probably empty the entire array after 10 seconds. Reason is that the user might be lucky to open the menu very early, then we got 2-3 updates and so the last menu in this array will not be the one the user had opened anyways.
@@ -203,6 +210,11 @@ export class Menubar { | |||
|
|||
private install(): void { | |||
|
|||
const oldMenu = Menu.getApplicationMenu(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sbatten again, comment to explain why
workaround to fix #55347