# LibTmux::Layout

- **Package:** LibTmux
- **Language:** Raku
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-raku/blob/e76160bcce6e03976d49424da15b7c31afb2c68e/lib/LibTmux/Layout.rakumod#L3
- **Page:** https://libtmux.org/en/raku/latest/reference/libtmux-layout/

# Observed layouts
Construct layouts and their cells through ` decode-layout `; direct ` new `
calls are refused so captured bytes and validated structure stay together.

Classic layouts validate their checksum and represented tiled tree; ` 0000, `
is the compatibility sentinel for no represented tiled cells. It does not
prove the physical window lacks floating panes. JSON version 2 retains
all cells, including floating placements with signed coordinates and z-index.
The separate ` window_modal_pane ` observation supplies ` :modal-pane-id `; an
empty string means known absence, while omission means not acquired.

Unknown dialects and versions expose exact immutable ` raw ` bytes and
` known == False `. They do not fabricate a tiled interpretation. Parsing and
traversal perform no I/O. Input bytes, nesting, numeric spelling and node
counts are bounded before or during parsing.

## Members

### Other members

- [`decode-layout`](/en/raku/latest/reference/libtmux-layout-decode-layout/) (function): Decode a declared dialect. Unknown versions retain bytes without a guessed tree.
- [`Layout`](/en/raku/latest/reference/libtmux-layout-layout/) (class): Decoded layout plus exact source bytes, including unsupported future versions.
- [`LayoutNode`](/en/raku/latest/reference/libtmux-layout-layoutnode/) (class): An immutable observed layout cell; floating leaves need not tile their parent.
