# tmux client library for Elixir

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

> tmux client library for Elixir. Control tmux, navigate sessions, windows, and panes, watch for changes via control mode

Control tmux, navigate sessions, windows, and panes, watch for changes via control mode.

## At a glance

| Type | Wraps |
| ---- | ----- |
| [`LibTmux.Server`](https://libtmux.org/en/elixir/latest/reference/libtmux-server/) | A tmux server |
| [`LibTmux.Session`](https://libtmux.org/en/elixir/latest/reference/libtmux-session/) | A session, ID `$n` |
| [`LibTmux.Window`](https://libtmux.org/en/elixir/latest/reference/libtmux-window/) | A window in a session, ID `@n` |
| [`LibTmux.Pane`](https://libtmux.org/en/elixir/latest/reference/libtmux-pane/) | A pane in a window, ID `%n` |

## Typed API

- Typed objects instead of parsed format strings: [`LibTmux.Pane`](https://libtmux.org/en/elixir/latest/reference/libtmux-pane/)
- Filtering and queries over tmux objects: [`LibTmux.Filter`](https://libtmux.org/en/elixir/latest/reference/libtmux-filter/)
- Typed errors instead of exit codes and stderr: [`LibTmux.Error`](https://libtmux.org/en/elixir/latest/reference/libtmux-error/)

## What you get over the tmux CLI

- Traversal from a server down to its panes: [`LibTmux.Snapshot.panes/1`](https://libtmux.org/en/elixir/latest/reference/libtmux-snapshot-panes-1/)
- Watch for changes through tmux control mode: [`LibTmux.Control`](https://libtmux.org/en/elixir/latest/reference/libtmux-control/)
- Arguments passed as a list, with no shell quoting: [`LibTmux.Command`](https://libtmux.org/en/elixir/latest/reference/libtmux-command/)

- [Guides](https://libtmux.org/en/elixir/latest/guides/): Task guides for Elixir.
- [Topics](https://libtmux.org/en/elixir/latest/topics/): Subject-by-subject, with Elixir in every code block.
- [Examples](https://libtmux.org/en/elixir/latest/examples/): Complete programs, sourced from the code each port tests.
- [API reference](https://libtmux.org/en/elixir/latest/reference/): Types and functions of the Elixir API.
