1# llimphi-widget-menubar23An app's main menu bar.
45Every Llimphi app declares an `app_bus::AppMenu` (File / Edit / View / Help …)
6and mounts it in-window with this widget. It is the twin of `launcher_llimphi`'s
7global bar, but it lives **inside** the app's window — for apps that run
8standalone rather than under the launcher shell.
910Stateless, Llimphi style: the host's `Model` carries which root menu is open
11(`Option<usize>`); the widget flattens the `AppMenu` and emits a `Msg` on each
12interaction.
1314Two entry points:
1516- `menubar_view` → the row of titles, for the top of `App::view`.
17- `menubar_overlay` → the open menu's dropdown, for `App::view_overlay` (returns
18 `None` when nothing is open).
1920Each item's `command` is the id the app understands (convention `menu.<verb>`,
21see `app_bus::AppMenu::standard`); the widget bounces it back through
22`on_command`.
2324---
2526Part of **llimphi** — see [llimphi](../../README.md).
README.md
llimphi-widget-menubar
An app's main menu bar.
Every Llimphi app declares an app_bus::AppMenu (File / Edit / View / Help …)
and mounts it in-window with this widget. It is the twin of launcher_llimphi's
global bar, but it lives inside the app's window — for apps that run
standalone rather than under the launcher shell.
Stateless, Llimphi style: the host's Model carries which root menu is open
(Option<usize>); the widget flattens the AppMenu and emits a Msg on each
interaction.
Two entry points:
menubar_view → the row of titles, for the top of App::view.
menubar_overlay → the open menu's dropdown, for App::view_overlay (returns
None when nothing is open).
Each item's command is the id the app understands (convention menu.<verb>,
see app_bus::AppMenu::standard); the widget bounces it back through
on_command.