# API reference

Source: https://libtmux.org/en/elixir/latest/reference/

> Types, methods, and functions in libtmux for Elixir.

Browse the Elixir types and operations for working with tmux. Start with the core objects below, or search for a type or member.

Server 1 type

[Server](https://libtmux.org/en/elixir/latest/reference/libtmux-server/) struct 10 members

Describes a local tmux server for capturing state and running commands.

Session 1 type

[Session](https://libtmux.org/en/elixir/latest/reference/libtmux-session/) struct 11 members

An immutable session observation with explicit actions. Attachment retains tmux's client count.

Window 2 types

[Window](https://libtmux.org/en/elixir/latest/reference/libtmux-window/) struct 11 members

An immutable physical window with explicit actions, independent of session membership and index.

[WindowLink](https://libtmux.org/en/elixir/latest/reference/libtmux-windowlink/) struct 7 members

An observed session/index/window binding. Its key is not a link lifetime ID.

Pane 1 type

[Pane](https://libtmux.org/en/elixir/latest/reference/libtmux-pane/) struct 25 members

An immutable physical pane with explicit actions. It belongs to a window; text may be empty.

Client 1 type

[Client](https://libtmux.org/en/elixir/latest/reference/libtmux-client/) struct 8 members

An immutable attached-client observation, keyed by validated client name.

Commands 4 types

[Command](https://libtmux.org/en/elixir/latest/reference/libtmux-command/) struct 5 members

A command value with separate argv and tmux-text renderers.

[Deadline](https://libtmux.org/en/elixir/latest/reference/libtmux-deadline/) struct 4 members

A node-local monotonic deadline shared by every stage of an operation.

[Operation](https://libtmux.org/en/elixir/latest/reference/libtmux-operation/) struct 18 members

A retained operation handle pinned to its original owner, tables and epoch.

[OneShot](https://libtmux.org/en/elixir/latest/reference/libtmux-transport-oneshot/) module 4 members

Executes one explicitly selected executable with bounded captured output.

Control mode 2 types

[Control](https://libtmux.org/en/elixir/latest/reference/libtmux-control/) struct 20 members

A qualified control connection for scoped and managed execution.

[Protocol](https://libtmux.org/en/elixir/latest/reference/libtmux-protocol/) struct 7 members

Assembles bounded control-mode replies and lexical notifications from bytes.

Formats 2 types

[Codec](https://libtmux.org/en/elixir/latest/reference/libtmux-codec/) module 4 members

Decodes bounded field responses and control-output bytes.

[Format](https://libtmux.org/en/elixir/latest/reference/libtmux-format/) module 2 members

Constructs literal operands for tmux formats without evaluating their text.

Queries 4 types

[Filter](https://libtmux.org/en/elixir/latest/reference/libtmux-filter/) struct 11 members

A validated portable predicate over one observed entity type.

[Schema](https://libtmux.org/en/elixir/latest/reference/libtmux-schema/) module 17 members

Defines observed fields, wire names and graph relations.

[Selection](https://libtmux.org/en/elixir/latest/reference/libtmux-selection/) struct 13 members

An ordered, materialized Enumerable over one captured entity type.

[Wire](https://libtmux.org/en/elixir/latest/reference/libtmux-wire/) module 4 members

Bounded JSON decoding with duplicate keys preserved until validation.

Snapshots 3 types

[Capture](https://libtmux.org/en/elixir/latest/reference/libtmux-capture/) module 2 members

Builds a bounded one-shot observation of one existing Linux tmux server.

[Ref](https://libtmux.org/en/elixir/latest/reference/libtmux-ref/) struct 9 members

An exact observed target bound to one server instance.

[Snapshot](https://libtmux.org/en/elixir/latest/reference/libtmux-snapshot/) struct 31 members

An indexed immutable graph observed over a capture interval.

Requests 1 type

[Request](https://libtmux.org/en/elixir/latest/reference/libtmux-control-request/) struct 4 members

Data for the qualified control lane's supported commands.

Errors 4 types

[CompletionError](https://libtmux.org/en/elixir/latest/reference/libtmux-action-completionerror/) exception 2 members

An action result did not meet an explicit completion requirement.

[ExecutionError](https://libtmux.org/en/elixir/latest/reference/libtmux-control-executionerror/) exception 4 members

A managed execution reported an error after admission.

[ScopeFailure](https://libtmux.org/en/elixir/latest/reference/libtmux-control-scopefailure/) exception 2 members

A scoped callback finished, but connection cleanup was not proved.

[Error](https://libtmux.org/en/elixir/latest/reference/libtmux-error/) exception 9 members

An inspectable failure with its phase and certainty about effects.

Constants and enums 1 type

[Action](https://libtmux.org/en/elixir/latest/reference/libtmux-action/) module 4 members

Shared results for explicit pane, window and session actions.

## By module 4 modules

* LibTmux 22

  * [Error](https://libtmux.org/en/elixir/latest/reference/libtmux-error/)
  * [Action](https://libtmux.org/en/elixir/latest/reference/libtmux-action/)
  * [Capture](https://libtmux.org/en/elixir/latest/reference/libtmux-capture/)
  * [Codec](https://libtmux.org/en/elixir/latest/reference/libtmux-codec/)
  * [Format](https://libtmux.org/en/elixir/latest/reference/libtmux-format/)
  * [Schema](https://libtmux.org/en/elixir/latest/reference/libtmux-schema/)
  * [Wire](https://libtmux.org/en/elixir/latest/reference/libtmux-wire/)
  * [Client](https://libtmux.org/en/elixir/latest/reference/libtmux-client/)
  * [Command](https://libtmux.org/en/elixir/latest/reference/libtmux-command/)
  * [Control](https://libtmux.org/en/elixir/latest/reference/libtmux-control/)
  * [Deadline](https://libtmux.org/en/elixir/latest/reference/libtmux-deadline/)
  * [Filter](https://libtmux.org/en/elixir/latest/reference/libtmux-filter/)
  * [Operation](https://libtmux.org/en/elixir/latest/reference/libtmux-operation/)
  * [Pane](https://libtmux.org/en/elixir/latest/reference/libtmux-pane/)
  * [Protocol](https://libtmux.org/en/elixir/latest/reference/libtmux-protocol/)
  * [Ref](https://libtmux.org/en/elixir/latest/reference/libtmux-ref/)
  * [Selection](https://libtmux.org/en/elixir/latest/reference/libtmux-selection/)
  * [Server](https://libtmux.org/en/elixir/latest/reference/libtmux-server/)
  * [Session](https://libtmux.org/en/elixir/latest/reference/libtmux-session/)
  * [Snapshot](https://libtmux.org/en/elixir/latest/reference/libtmux-snapshot/)
  * [Window](https://libtmux.org/en/elixir/latest/reference/libtmux-window/)
  * [Window​Link](https://libtmux.org/en/elixir/latest/reference/libtmux-windowlink/)

* LibTmux.Action 1

  * [Completion​Error](https://libtmux.org/en/elixir/latest/reference/libtmux-action-completionerror/)

* LibTmux.Control 3

  * [Execution​Error](https://libtmux.org/en/elixir/latest/reference/libtmux-control-executionerror/)
  * [Scope​Failure](https://libtmux.org/en/elixir/latest/reference/libtmux-control-scopefailure/)
  * [Request](https://libtmux.org/en/elixir/latest/reference/libtmux-control-request/)

* LibTmux.Transport 1

  * [One​Shot](https://libtmux.org/en/elixir/latest/reference/libtmux-transport-oneshot/)
