= aerospace-layout(1)
include::util/man-attributes.adoc[]
:manname: aerospace-layout
// tag::purpose[]
:manpurpose: Change layout of the focused node to the given layout
// end::purpose[]

// =========================================================== Synopsis
== Synopsis
[verse]
// tag::synopsis[]
aerospace layout [-h|--help] [--window-id <window-id>|--workspace <workspace>]
                 [--root] [--fail-if-noop]
                 (<target-layout>)...

// end::synopsis[]

// =========================================================== Description
== Description

// tag::body[]
{manpurpose}

// =========================================================== Options
include::./util/conditional-options-header.adoc[]

-h, --help:: Print help

--window-id <window-id>::
include::./util/window-id-flag-desc.adoc[]

--workspace <workspace>::
include::./util/workspace-flag-desc.adoc[]

--root::
Instead of the focused window, change the layout of the workspace tiling root node.
When you use this flag, `tiling` and `floating` become invalid values for `<target-layout>`.

--fail-if-noop::
Exit with non-zero exit code if already in the requested layout.
When you use this flag, the command permits only one `<target-layout>` argument.

// =========================================================== Arguments
include::./util/conditional-arguments-header.adoc[]

<target-layout>::
Possible values:
+
* `h_tiles|v_tiles|h_accordion|v_accordion` - Change both tiling layout and orientation in one go
* `tiles|accordion` - Change tiling layout but preserve orientation
* `horizontal|vertical` - Change orientation but preserve layout
* `tiling|floating` - Toggle between floating/tiling mode
+
If several `<target-layout>` are supplied, then the first one that doesn't describe the currently active layout is applied.

// =========================================================== Examples
include::./util/conditional-examples-header.adoc[]

* Toggle between `floating` and `tiling` layouts (order of args doesn't matter): +
`aerospace layout floating tiling`

* Toggle orientation (order of args doesn't matter): +
`aerospace layout horizontal vertical`

* Toggle between `tiles` and `accordion` layouts (order of args doesn't matter): +
`aerospace layout tiles accordion`

* Switch to `tiles` layout. Toggle the layout orientation if already in `tiles` layout: +
`aerospace layout tiles horizontal vertical`

// end::body[]

// =========================================================== Footer
include::./util/man-footer.adoc[]
