# LibTmux.Server.capture

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/src/LibTmux/Server.hs#L168
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-server-v-capture/

```haskell
capture :: Server -> IO Snapshot
```

Signature types: [`Server`](/en/haskell/latest/reference/libtmux-server-t-server/), [`IO`](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO), [`Snapshot`](/en/haskell/latest/reference/libtmux-snapshot-t-snapshot/).

Acquire the complete baseline graph, metadata and attached clients.
 Returned values own their data and remain usable after [`withServer`](/en/haskell/latest/reference/libtmux-server-v-withserver/) exits.
 Capacity and acquisition failure are errors; they never become empty lists.

## Referenced declarations

- [`LibTmux.Server.Server`](/en/haskell/latest/reference/libtmux-server-t-server/) (data type)
- [`LibTmux.Snapshot.Snapshot`](/en/haskell/latest/reference/libtmux-snapshot-t-snapshot/) (data type)

## tmux command

The tmux commands behind `capture`.

- [`display-message`](/en/tmux/latest/manual/display-message/)
- [`if-shell`](/en/tmux/latest/manual/if-shell/)
- [`list-clients`](/en/tmux/latest/manual/list-clients/) (when the server has sessions)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_display_message_entry`](/en/tmux/latest/reference/c-variable-cmd_display_message_entry/) (attribute)
- [`cmd_display_message_exec`](/en/tmux/latest/reference/c-function-cmd-display-message-c-cmd_display_message_exec/) (function)
- [`cmd_if_shell_entry`](/en/tmux/latest/reference/c-variable-cmd_if_shell_entry/) (attribute)
- [`cmd_if_shell_exec`](/en/tmux/latest/reference/c-function-cmd-if-shell-c-cmd_if_shell_exec/) (function)
- [`cmd_list_clients_entry`](/en/tmux/latest/reference/c-variable-cmd_list_clients_entry/) (attribute)
- [`cmd_list_clients_exec`](/en/tmux/latest/reference/c-function-cmd-list-clients-c-cmd_list_clients_exec/) (function)

## Guides

Pages that discuss `capture`.

- [Capture and navigate](/en/haskell/latest/guides/capture/)
- [Capture performance](/en/haskell/latest/guides/performance/)
- [Typed queries](/en/haskell/latest/guides/query/)
