# control.protocol.read_line_within

- **Module:** control.protocol
- **Package:** libtmux
- **Language:** Rust
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/control/protocol.rs#L29
- **Page:** https://libtmux.org/reference/rs/control-protocol-read_line_within/

```
control.protocol.read_line_within(stdout: &mut R, pending: &mut Vec<u8>, limit: usize, within: Option<u64>) -> Result<Option<Line>, Error>
```

Read one line, classifying it for the block it arrived in.

`within` names the open block, if any. tmux(1) guarantees a notification
never appears inside an output block, so every line but its own terminator
is command output -- including one that looks like a notification, which
is what `list-panes -F '#{pane_id}'` produces for every row.
