<p dir="auto">I was taking a look at the default app. There's a menu item that causes the app to enter fullscreen, but once in fullscreen the menu item doesn't change from "Enter Fullscreen" to "Exit Fullscreen". This means that once you enter fullscreen though the menu, you cannot exit it.</p>
<p dir="auto">It seems to me that there should be some way of dynamically changing a menu item's label inside of its own callback. I couldn't find a way to do this without removing the entire menu, creating a new one, then adding it back, but that felt rather heavy handed. Another way to do this would be by removing the single menu item and adding a different one in its place (essentially swapping it out), but there doesn't seem to be any more functionality allowing this than there is for merely changing a label. (A request  for the addition of <code class="notranslate">Menu.remove()</code> can be found <a href="https://github.com/atom/atom-shell/issues/527" data-hovercard-type="issue" data-hovercard-url="/electron/electron/issues/527/hovercard">here</a>.)</p>
<p dir="auto">I would be willing to contribute to this if given some pointers. It should be noted that I haven't worked with CoffeeScript except in passing, but I can most likely figure it out.</p>
<p dir="auto">Maybe I missunderstood something but trying to overwrite some delegates in a newly created Menu will not call my custom function:</p>
<p dir="auto">menu.delegate.menuWillShow = function () {<br>
console.log('MY MENU DELEGATE');<br>
}</p>
<p dir="auto">menu.delegate.menuWillShow(); // doesn't call my function??</p>
<p dir="auto">Note that the Menu is created using remote call within a BrowserWindow.</p>