Layout
Layout widgets are the containers that shape an Adwaita window: they constrain content to a readable width, frame it with top and bottom chrome, and let a run of children flow and wrap. They carry no data of their own — they position whatever you put inside them and adapt as the available space changes.
Every widget below is described independently of any one toolkit, then shown three
ways. Native GJS (real Libadwaita through
@girs/adw-1) is the primary
implementation; the Web (@gjsify/adwaita-web)
and NativeScript (@gjsify/adwaita-nativescript)
ports mirror it. The preview is the real Web component — no screenshot — so it
follows the light/dark toggle just like a native window would.
Constrains its child to a maximum width and centres it within any wider space. As the container shrinks the clamp tightens the child past a tightening threshold, keeping long-form content at a comfortable measure on large displays without wasting space on small ones.
Header Bar
Section titled “Header Bar”The standard top chrome of an Adwaita window: a bar that hosts a custom title widget in the centre with controls packed to the start and end edges. The title area typically carries a window title and subtitle; the packed slots hold navigation, menu and action buttons.
Toolbar View
Section titled “Toolbar View”Frames its content between a top bar and a bottom bar — usually a header bar above and an action bar below. Each set of bars can be revealed or hidden independently, and the content scrolls beneath them so the chrome stays fixed in place.
Wrap Box
Section titled “Wrap Box”Lays its children out in a horizontal line and wraps them onto new lines when they run out of room — ideal for a variable-length run of tags, chips or filter pills. Child spacing sets the gap between items on a line; line spacing sets the gap between the lines.
Related
Section titled “Related”- Boxed Lists — the rows a
Clampkeeps at a readable width. - Navigation — split views and pages that pair with a
HeaderBar. - Adwaita Storybook — the same widgets in a live, interactive component browser.