# API reference

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

> Types, methods, and functions in libtmux for F#.

F# API

Find a type or member

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

Server 1 type

[Server 13 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-server/)

Starts server reads and queries with the caller's cancellation token.

Session 2 types

[Session 7 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-session/)

Starts queries confined to one session.

[SessionSpec 7 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-sessionspec/)

Describes a session and its windows, for \<c>Server.newSession\</c>.

Window 3 types

[Window 9 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-window/)

Identifies window placements and starts queries confined to one window.

[WindowPlacementKey struct](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-windowplacementkey/)

Identifies one indexed placement of a window within a server generation.

[WindowSpec 8 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-windowspec/)

Describes a window: its first pane, then each pane split off the one before.

Pane 4 types

[Pane 23 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-pane/)

Reads captured pane fields and starts explicit pane operations.

[PaneRun 1 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-panerun/)

Recognises how a command run with \<c>Pane.run\</c> ended.

[PaneWait 1 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-panewait/)

Recognises how a wait on a pane's output ended.

[PaneWatch 1 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-panewatch/)

Recognises what a pane watch yields.

Layout and geometry 2 types

[SplitSize 3 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-splitsize/)

How much of the space split a new pane takes.

[SplitSpec 7 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-splitspec/)

Describes a pane split off the pane created before it.

Commands 2 types

[Retry 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-retry/)

Runs an operation again only when tmux never saw it.

[Chain 8 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-chain/)

Builds commands tmux runs together, each acting on what the one before made.

Control mode 3 types

[StreamStep 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-streamstep/)

Represents a decision to continue or stop an event fold.

[Control 10 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-control/)

Opens control clients and reads their event streams.

[Mirror 6 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-mirror/)

Follows a server's sessions, windows, panes and clients as tmux announces changes.

Queries 5 types

[Selection 1 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-selection/)

Selects values from ordinary F# sequences.

[Filter 26 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-filter/)

Describes a validated portable predicate over one entity type.

[Relation class](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-relation/)

Identifies a supported captured relation between two entity types.

[ScreenSearch 4 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-screensearch/)

Describes text tmux searches for on a pane's visible rows.

[Query 8 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-query/)

Describes a tmux listing: a scope, filters and text panes must show.

Queries — Fields 5 types

[Field class](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-field/)

Identifies a supported scalar field and its query constant type.

[SessionFields 5 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-sessionfields/)

Provides supported session fields and relations for portable filters.

[WindowFields 14 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-windowfields/)

Provides supported window fields and relations for portable filters.

[PaneFields 22 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-panefields/)

Provides supported pane fields for portable filters.

[ClientFields 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-clientfields/)

Provides supported client fields for portable filters.

Snapshots 2 types

[CaptureState 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-capturestate/)

Distinguishes captured state from a relation the snapshot did not read.

[Snapshot 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-snapshot/)

Reads captured values without contacting tmux.

Errors 2 types

[CardinalityError 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-cardinalityerror/)

Describes a selection that does not contain exactly one match.

[TmuxFailure 3 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-tmuxfailure/)

Recognises tmux failures by whether running the operation again could repeat what it did.

Constants and enums 1 type

[Options 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-options/)

Reads and writes options through keys that know their value's type.

Async 1 type

[TmuxAsync 2 members](https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-tmuxasync/)

Awaits tasks in an \<c>async\</c> workflow without losing whether tmux may have acted.
