# tmux.PaneObservation

- **Module:** tmux
- **Package:** github.com/libtmux/libtmux-go/tmux
- **Language:** Go
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-go/blob/5f808882015a975a65acc7f9da5b3ff0d5cbdc91/tmux/control_observation.go#L28
- **Page:** https://libtmux.org/reference/go/tmux-paneobservation/

PaneObservation is one visible pane baseline followed by the exact control notification stream after that baseline. That stream is the observation's whole control connection, so a caller wanting only this pane's output selects it by identifier. Create one with [Pane.OpenObservation] and close it when finished. Copies share notification reader ownership, terminal loss, and client lifetime; closing one closes them all.

## Members

- `PaneID` (method) — PaneID returns the pane selected at the observation boundary.
- `Baseline` (method) — Baseline returns an owned copy of the pane's visible text at the observation boundary.
- `NextNotification` (method) — NextNotification returns the next notification strictly after the pane baseline, from the whole connection rather than this pane alone. Notifications queued before that boundary are discarded. Concurrent calls are serialized. Caller context errors and [ControlNotificationError] affect only one call. Explicit close returns an error matching [os.ErrClosed].
- `Close` (method) — Close stops the dedicated control client. It is safe to call more than once.
- `CloseContext` (method) — CloseContext starts idempotent observation shutdown and waits within ctx.
