message MenuItem
Control plane
message MenuItem
One row of a context menu.
idl/lava.npidl:743
Fields
enabled: boolean
A greyed row that is still shown, which is the point: "Maximize" missing from a fullscreen window's menu moves every row below it, and a menu whose geometry changes with the window is a menu nobody builds muscle memory for.
idl/lava.npidl:758
id: u32
What the client echoes back in MenuReply.chosen when this row is
picked. Opaque to it, and meaningful only to the compositor that sent
it. Never 0 for a row that can be chosen — 0 is how a reply says
"dismissed", so an item with that id would be indistinguishable from
the user pressing Escape.
idl/lava.npidl:749
kind: MenuItemKind
Not documented.
idl/lava.npidl:751
parent: u32
0 for a row of the root menu. Otherwise the id of the submenu row
this row sits under.
The list is flat because the wire has no recursion; the menu client
builds the tree. A row whose parent is not a submenu in this same
list is dropped rather than shown at the root — a parent that does not
exist is a bug in the sender, and promoting the row would put a VPN's
"Disconnect" next to "About".
idl/lava.npidl:771
shortcut: string
Right-aligned accelerator label — "Alt+F4". Cosmetic: the compositor already has these bindings and the menu never matches on this string. Empty for a row with no chord.
idl/lava.npidl:762
title: string
Not documented.
idl/lava.npidl:750