If the container is not a menu bar or a popup menu, this method is normally called via the on-demand method of the container’s owning menu bar or popup menu, because the default implementation of the method chains to the on-demand method of its items. However, the method can be overridden in a container such that it does not call the on-demand method of its items.
On Unix with the Unity window manager using the global menu bar (which is the default on Ubuntu), racket/gui/base receives no notification when the user clicks the menu bar. To approximate on-demand triggered by user clicks of the menu bar, on-demand is called for a menu bar whenever its frame% object loses the keyboard focus. Beware that if keyboard focus was lost because a menu was clicked, then items added to the clicked menu during an on-demand invocation may not appear for the user.