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