language that describes how ragged arrays of cells are structured. The idea is that you define
where stuff goes separate from the stuff that goes there. This makes it easier to work out common
UI layouts and reuse them, and also makes your code _way_ simpler. Instead of crazy nested objects
inside objects you just create a layout and put stuff in it like a container.
I'll document this further in a later release, but ifyou look at `"default_ui"` in
`assets/layouts.json" you see this:
```
"[t_left|t_center|t_right]",
"[*%(100,600)slide]",
"[_]",
"[_]",
"[_]",
"[_]",
"[_]",
"[=title|=*%(200,100)description|_|_|_]"
```
This is multiple strings only because JSON doesn't have a multiline string. This is converted into a
single string to define the layout.
The `[]` Creates a single cell. The `[t_left]` creates a cell name `t_left`. The `[*%(100,600)slide]` says, "Expand (`*`) to fill percent (`%`) 100 wide by 600 long." In this case the `slide` cell will take up 1 column and 6 rows. If you see `=` that means to center it.
## Command Line Remote
There's a `builddir/bezos_cli` that allows for remote control of your presentation. It can do most
things the control window does. Here's the options:
`-L`/`-R`
: Move the present window to the "Left" or "Right" screen.
`-N`/`-P`
: Next and Previous slide.
`-q`
: Quit.
`-f`
: Toggle full screen.
`-p`
: What port to use.
> __WARNING__ This works by opening a UDP port on port 9898. If it doesn't work that's probably
> why. Also, it should only be on localhost but let me know if it's getting it wrong.
## `bezos_cli` vs. `bezos_ctrl`
You may notice there's a `bezos_cli` and `bezos_ctrl`
but *only on Windows*. This is because Windows makes a distinction between "console" apps and
"windows" apps.
The `bezos_cli` is what you want when using it from the command line or on Unix systems. It just
works like you think it does and the code is in `src/bezos_ctl.cpp`.
The `bezos_ctrl` is compiled as a `windows` subsystem app so when run it does _no console output_.
This lets you run it in things like Stream Deck and other launchers without popping open a `cmd.exe`