# API reference

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

> Modules, data types, constructors, record fields and functions in libtmux for Haskell.

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

LibTmux.Id 1 type

[LibTmux.Id](https://libtmux.org/en/haskell/latest/reference/libtmux-id/) module 13 members

Distinct session, physical-window and physical-pane IDs.

LibTmux.Id — Entity identities 3 functions and constants

[SessionId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-t-sessionid/) data type

A session's unsigned 32-bit tmux identifier, written with a `$` prefix. Parse with [`parseSessionId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsesessionid/ "function"); render with [`renderSessionId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-rendersessionid/ "function").

[WindowId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-t-windowid/) data type

A physical window's identifier, independent of its session links. Parse with [`parseWindowId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsewindowid/ "function"); render with [`renderWindowId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-renderwindowid/ "function").

[PaneId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-t-paneid/) data type

A physical pane's identifier, written with a `%` prefix. Parse with [`parsePaneId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsepaneid/ "function"); render with [`renderPaneId`](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-renderpaneid/ "function").

LibTmux.Id — Parse external values 4 functions and constants

[IdError](https://libtmux.org/en/haskell/latest/reference/libtmux-id-t-iderror/) data type 3 members

Invalid canonical syntax, entity prefix or native unsigned range. Diagnostics retain at most 64 characters of input.

[parseSessionId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsesessionid/) function

Parse `$0` through `$4294967295`. No whitespace or leading zeroes.

[parseWindowId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsewindowid/) function

Parse a canonical `@number` identifying a physical window.

[parsePaneId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-parsepaneid/) function

Parse a canonical `%number` identifying a physical pane.

LibTmux.Id — Render target text 3 functions and constants

[renderSessionId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-rendersessionid/) function

Render the session prefix and decimal ID.

[renderWindowId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-renderwindowid/) function

Render the physical window prefix and decimal ID.

[renderPaneId](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-renderpaneid/) function

Render the physical pane prefix and decimal ID.

LibTmux.Id — Read numeric values 3 functions and constants

[sessionIdValue](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-sessionidvalue/) function

Read the numeric session ID without narrowing conversion.

[windowIdValue](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-windowidvalue/) function

Read the numeric physical window ID.

[paneIdValue](https://libtmux.org/en/haskell/latest/reference/libtmux-id-v-paneidvalue/) function

Read the numeric physical pane ID.

LibTmux.Value 1 type

[LibTmux.Value](https://libtmux.org/en/haskell/latest/reference/libtmux-value/) module 10 members

Positive dimensions and nonnegative contextual indices.

LibTmux.Value — Checked types 3 functions and constants

[Dimension](https://libtmux.org/en/haskell/latest/reference/libtmux-value-t-dimension/) data type

Positive cells, constructed with [`mkDimension`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkdimension/ "function"). Command and field limits are checked separately. Compare dimensions directly or use [`dimensionValue`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-dimensionvalue/ "function") with an integer literal.

[WindowIndex](https://libtmux.org/en/haskell/latest/reference/libtmux-value-t-windowindex/) data type

Nonnegative index of a window link within a session, not a physical window ID. Construct with [`mkWindowIndex`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkwindowindex/ "function"); read with [`windowIndexValue`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-windowindexvalue/ "function").

[PaneIndex](https://libtmux.org/en/haskell/latest/reference/libtmux-value-t-paneindex/) data type

Nonnegative pane index within a window, not a pane ID. Construct with [`mkPaneIndex`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkpaneindex/ "function"); read with [`paneIndexValue`](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-paneindexvalue/ "function").

LibTmux.Value — Validate input 4 functions and constants

[ValueError](https://libtmux.org/en/haskell/latest/reference/libtmux-value-t-valueerror/) data type 2 members

A scalar outside its mathematical domain.

[mkDimension](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkdimension/) function

Construct a positive dimension without applying a command-specific maximum.

[mkWindowIndex](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkwindowindex/) function

Construct a nonnegative window-link index.

[mkPaneIndex](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-mkpaneindex/) function

Construct a nonnegative pane index.

LibTmux.Value — Read numeric values 3 functions and constants

[dimensionValue](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-dimensionvalue/) function

Read a dimension as a mathematical integer, without narrowing conversion.

[windowIndexValue](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-windowindexvalue/) function

Read a window-link index as a mathematical integer.

[paneIndexValue](https://libtmux.org/en/haskell/latest/reference/libtmux-value-v-paneindexvalue/) function

Read a pane index as a mathematical integer.

LibTmux.Version 1 type

[LibTmux.Version](https://libtmux.org/en/haskell/latest/reference/libtmux-version/) module 5 members

Parse stable tmux releases and check the supported release range.

LibTmux.Version — Release identity and errors 2 functions and constants

[TmuxVersion](https://libtmux.org/en/haskell/latest/reference/libtmux-version-t-tmuxversion/) data type

A stable release, constructed by [`parseVersion`](https://libtmux.org/en/haskell/latest/reference/libtmux-version-v-parseversion/ "function") and rendered by [`renderVersion`](https://libtmux.org/en/haskell/latest/reference/libtmux-version-v-renderversion/ "function"). Ordering compares numeric components before the patch letter.

[VersionError](https://libtmux.org/en/haskell/latest/reference/libtmux-version-t-versionerror/) data type 2 members

Invalid release syntax or a release outside the supported range.

LibTmux.Version — Parse and render 2 functions and constants

[parseVersion](https://libtmux.org/en/haskell/latest/reference/libtmux-version-v-parseversion/) function

Parse a stable release or the output of `tmux -V`, allowing one final LF. Development builds and trailing data are rejected rather than assigned capabilities from a guessed stable version. Diagnostics retain at most 64 chars.

[renderVersion](https://libtmux.org/en/haskell/latest/reference/libtmux-version-v-renderversion/) function

Render the canonical release without the executable name or newline.

LibTmux.Version — Admit a release 1 function or constant

[requireSupported](https://libtmux.org/en/haskell/latest/reference/libtmux-version-v-requiresupported/) function

Admit every stable release from 3.3a through 3.8, including intermediate releases. Versions outside that range fail. Individual features need their own capability checks; passing this check does not qualify an entire release.
