LavaUI docs

message Appearance

Control plane

message Appearance

What the desktop looks like, for a client that wants to match it.

Not what a client is made of — the compositor has no opinion about an app's colours and should not acquire one. This is the small set of numbers that are decisions about the desktop rather than about the app, where an app choosing its own would look wrong next to everything else.

idl/lava.npidl:161

Fields

cornerRadius: f32

Window corner radius in pixels; 0 when windows are square.

A client does not need this to be rounded — the compositor masks its corners either way, and a client that drew its own would be rounding pixels that are about to be cut. It needs it to match: a menu, a dialog or a card the app draws inside its window should have the same radius as the window around it, and 8 against the desktop's 12 is the kind of wrongness people see without being able to name.

idl/lava.npidl:170

shadowBlur: f32

How far a window's shadow reaches, in pixels; 0 when there are none. With shadowOpacity and shadowOffsetY, enough for a client to give a menu or a dialog of its own the same shadow the desktop gives a window.

idl/lava.npidl:175

shadowOffsetY: f32

How far the shadow is pushed down. Light comes from above, and a shadow centred on its shape reads as a glow.

idl/lava.npidl:180

shadowOpacity: f32

Opacity directly under the shape, 0…1, fading to nothing over the blur.

idl/lava.npidl:177