# LibTmux.subscribe_format

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/observation.jl#L564
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-subscribe_format/

```
subscribe_format(f, connection::LibTmux.ControlConnection, args...; kwargs...)

subscribe_format(
    connection::LibTmux.ControlConnection,
    target::Union{LibTmux.SessionRef, LibTmux.WindowRef, LibTmux.PaneRef},
    field::AbstractString;
    timeout,
    cancel,
    after,
    kwargs...
)
```

## Methods

### `subscribe_format(f, connection::LibTmux.ControlConnection, args...; kwargs...)`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/observation.jl#L715).

### `subscribe_format` (overload 2)

```julia
subscribe_format(
    connection::LibTmux.ControlConnection,
    target::Union{LibTmux.SessionRef, LibTmux.WindowRef, LibTmux.PaneRef},
    field::AbstractString;
    timeout,
    cancel,
    after,
    kwargs...
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/observation.jl#L576).

Subscribe to one admitted format field for the attached session, a window, or a pane. Updates retain escaped bytes from the field codec. tmux checks subscriptions at most once per second; these updates cannot establish prompt readiness or output quiescence. Closing removes only this generated name. Pane subscriptions use a window pane-loop with an exact pane ID so retained dead panes still update on tmux versions that skip direct dead-pane watches. Updates retain their session/window-link context. Removal or movement requires a new baseline; subscriptions do not silently follow another window.

```julia
subscribe_format(connection, target, field; timeout=5.0, cancel=nothing, kwargs...)
```

## Parameters

- `f` (`Any`) (for `subscribe_format(f, connection, args, kwargs)`)
- `connection` (`LibTmux.ControlConnection`)
- `args` (`Vararg{Any}`) (for `subscribe_format(f, connection, args, kwargs)`)
- `kwargs`
- `target` (`Union{LibTmux.SessionRef, LibTmux.WindowRef, LibTmux.PaneRef}`) (for `subscribe_format(connection, target, field, timeout, cancel, after, kwargs)`)
- `field` (`AbstractString`) (for `subscribe_format(connection, target, field, timeout, cancel, after, kwargs)`)
- `timeout` (`Real`) (for `subscribe_format(connection, target, field, timeout, cancel, after, kwargs)`)
  Default: `5.0`.
- `cancel` (for `subscribe_format(connection, target, field, timeout, cancel, after, kwargs)`)
  Default: `nothing`.
- `after` (for `subscribe_format(connection, target, field, timeout, cancel, after, kwargs)`)
  Default: `nothing`.
