LavaUI docs GitHub

message MenuRequest

Control plane

Fields

items: vector<MenuItem>

Not documented.

idl/lava.npidl:804

maxHeight: u32

The most this menu may be tall, in pixels: the work area of the output it opened on, which is the screen minus the panels that reserve a strip.

A list taller than this scrolls inside the plate, and the size named in ShowMenu / ShowSubmenu is the capped one. The compositor also refuses to place a plate taller than the work area, so a client that ignores this is clipped rather than drawn off the bottom of the screen. 0 means nothing was said — a close request, which has no menu to cap.

idl/lava.npidl:813

serial: u32

Monotonic. Echoed in MenuReply, and the reason the reply can be trusted: a menu dismissed by the user at the same moment a second right-click opened another one would otherwise answer for the wrong menu. A reply naming a serial that is not the open one is dropped.

idl/lava.npidl:787

target: u32

The window this menu is about, or 0 for the desktop. The client shows it in the heading; the compositor is the one that acts on it, and it does not need to be told the number back.

idl/lava.npidl:799

title: string

What to write above the items — a window title, or empty for no heading at all. Not the same as the first item: a heading is not clickable and does not move the rows under it when it is absent.

idl/lava.npidl:803

x: i32

Where the pointer was, in layout coordinates — the same space window positions are in, not the menu surface's own. The client does not place itself with these and could not: it does not know the work area, the panels, or which output this landed on. They are here so a menu can be drawn knowing which corner it was anchored by, and for the log line when one opens somewhere surprising.

idl/lava.npidl:794

y: i32

Not documented.

idl/lava.npidl:795