# plan.Slot

- **Module:** plan
- **Package:** libtmux
- **Language:** Rust
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/plan.rs#L317
- **Page:** https://libtmux.org/en/rs/latest/reference/plan-slot/

A typed reference to the object a recorded operation will create.

Returned by [`Plan::add`]. The type parameter is the scope it points at, so
a slot for a pane cannot be handed to an operation that wants a window.
A slot is only meaningful inside the plan that produced it.

## Example

```rust
use libtmux::plan::{NewWindow, Plan, SendKeys};
use libtmux::SessionId;

let mut plan = Plan::new();
let window = plan.add(NewWindow::new("$0".parse::<SessionId>()?).name("build"));
// A new window owns a first pane, reachable without listing anything.
plan.add(SendKeys::new(window.pane()).text("just check").enter());
```

## Members

- `step` (method): The index of the operation that creates this object.
- `window` (method): The first window tmux made with this session.
- `pane` (method): The first pane of this session's first window.
