# Java API reference

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

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

Java API

984 symbols, extracted from source. Every type name in a signature links to its own entry; every cross-reference in a doc comment resolves against the same table.

Server 4 types

[Server 59 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-server-server/)

One tmux server, reached over one transport.

[ServerConfig 9 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-serverconfig-serverconfig/)

What a server needs to know before it runs anything: which tmux, which server, which config.

[ServerEndpoint 7 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-serverendpoint-serverendpoint/)

Which tmux server to talk to.

[ServerIdentity 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-serveridentity-serveridentity/)

Which tmux server a handle belongs to.

Session 4 types

[Session 26 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-session-session/)

One tmux session, as one capture saw it.

[Session\_ 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-session_-session_/)

Typed fields of [`Session` ](https://libtmux.org/en/java/latest/reference/io-github-libtmux-session-session/), for building an expression that can be read as well as run.

[SessionId 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-sessionid-sessionid/)

A tmux session id, such as `$0`.

[SessionSpec 14 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-sessionspec-sessionspec/)

How a session should be made.

Window 8 types

[Window 38 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-window-window/)

One tmux window at one of its positions, as one capture saw it.

[Window\_ 7 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-window_-window_/)

Typed fields of [`Window` ](https://libtmux.org/en/java/latest/reference/io-github-libtmux-window-window/).

[WindowId 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-windowid-windowid/)

A tmux window id, such as `@1`.

[WindowIndex 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-windowindex-windowindex/)

Where a window sits in one session.

[WindowLayout 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-windowlayout-windowlayout/)

A window's layout as tmux reported it, in whichever of its two forms it used.

[WindowPlacement 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-windowplacement-windowplacement/)

Where a new window is inserted relative to the current one.

[WindowSpec 13 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-windowspec-windowspec/)

How a window should be made.

[WindowSpec 0 members](https://libtmux.org/en/java/latest/workspace/reference/io-github-libtmux-workspace-windowspec-windowspec/)

One window, its panes, and how they are arranged.

Pane 11 types

[Pane 57 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-pane-pane/)

One tmux pane, as one capture saw it.

[Pane\_ 10 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-pane_-pane_/)

Typed fields of [`Pane` ](https://libtmux.org/en/java/latest/reference/io-github-libtmux-pane-pane/).

[PaneCommand 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-panecommand-panecommand/)

The line typed at a pane's shell to run one command to its end, and how its output is read back.

[PaneEcho 9 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-paneecho-paneecho/)

Tracks pending and recently submitted input under each server incarnation and pane id.

[PaneEdges 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-paneedges-paneedges/)

Which sides of its window a pane touches.

[PaneId 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-paneid-paneid/)

A tmux pane id, such as `%2`.

[PanePosition 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-paneposition-paneposition/)

Where a pane's top-left corner sits in its window, in terminal cells.

[PaneRun 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-panerun-panerun/)

How a command run in a pane with [`Pane#run` ](https://libtmux.org/en/java/latest/reference/io-github-libtmux-pane-pane-run/)ended, and what it printed.

[PaneSize 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-panesize-panesize/)

How big a new pane should be.

[PaneStart 6 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-panestart-panestart/)

What runs in a new pane.

[PaneSpec 0 members](https://libtmux.org/en/java/latest/workspace/reference/io-github-libtmux-workspace-panespec-panespec/)

One pane and what to run in it.

Client 3 types

[Client 15 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-client-client/)

One attached tmux client, as one capture saw it.

[Client\_ 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-client_-client_/)

Typed fields of [`Client` ](https://libtmux.org/en/java/latest/reference/io-github-libtmux-client-client/).

[ClientAttachment 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-clientattachment-clientattachment/)

What a client was looking at.

Hooks 1 type

[Hooks 9 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-hooks-hooks/)

The tmux hooks at one scope.

Options 1 type

[OptionKey 13 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-optionkey-optionkey/)

A tmux option and the Java type its value reads as.

Keys and bindings 1 type

[Keys 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-keys-keys/)

The server's key bindings, in one key table or across all of them.

Buffers 2 types

[BufferInfo 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-bufferinfo-bufferinfo/)

One tmux paste buffer, as a listing described it.

[Buffers 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-buffers-buffers/)

The tmux server's paste buffers.

Layout and geometry 6 types

[Dimensions 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-dimensions-dimensions/)

How big something is, in terminal cells.

[Direction 6 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-direction-direction/)

Which way to move or grow something.

[Layout 12 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-layout-layout/)

One of tmux's built-in pane arrangements.

[Layouts 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-layouts-layouts/)

Which layout names are safe to hand to tmux.

[SplitDirection 6 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-splitdirection-splitdirection/)

Where a new pane goes relative to the one being split.

[SplitSpec 17 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-splitspec-splitspec/)

How a pane should be split.

Environment 2 types

[Environment 11 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-environment-environment/)

The environment tmux gives to processes it starts, at one scope.

[TmuxEnvironment 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-tmuxenvironment-tmuxenvironment/)

What tmux tells a program running inside one of its panes.

Versions 1 type

[TmuxVersion 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-tmuxversion-tmuxversion/)

A released tmux version, ordered the way tmux releases are.

Commands 5 types

[CommandChain 9 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-commandchain-commandchain/)

A sequence of tmux commands where each one acts on what the last one made.

[DispatchOutcome 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-dispatchoutcome-dispatchoutcome/)

How certain the transport is that tmux applied a request.

[OutputDecoder 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-outputdecoder-outputdecoder/)

Turns a drained pipe into lines the way callers already expect.

[ProcessTransport 6 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-processtransport-processtransport/)

The default transport: one child process per call, drained by a bounded pool of platform threads.

[TmuxTransport 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-tmuxtransport-tmuxtransport/)

Runs one tmux command and blocks until it has an answer.

Control mode 8 types

[ControlClient 10 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controlclient-controlclient/)

A tmux client that stays attached and answers one command at a time.

[ControlLineReader 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controllinereader-controllinereader/)

Reads bounded physical lines from a control client's byte stream.

[ControlProtocol 9 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controlprotocol-controlprotocol/)

Frames control-mode replies and encodes requests for tmux's command parser.

[ControlReply 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controlreply-controlreply/)

One command's reply in control mode.

[ControlWriter 11 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controlwriter-controlwriter/)

Owns the process-pipe write and the FIFO that attributes replies to requests.

[EventSubscription 6 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-eventsubscription-eventsubscription/)

Pulls events volunteered by one control client.

[Notification 18 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-notification-notification/)

What a control-mode notification says, typed, for matching on.

[PaneOutput 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-paneoutput-paneoutput/)

Terminal output tmux pushed without being asked.

Formats 3 types

[RowFormat 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-format-rowformat-rowformat/)

A listing template and the reader for the rows it produces.

[Tokens 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-format-tokens-tokens/)

The token this process marks its own text with.

[TmuxFormats 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-tmuxformats-tmuxformats/)

Values handed to a tmux argument position that expands formats.

Queries 3 types

[Selections 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-selections-selections/)

Cardinality with the ambiguity removed.

[FilterJson 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-jackson-filterjson-filterjson/)

The versioned wire form of a filter expression.

[FilterModel 10 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-jackson-filtermodel-filtermodel/)

What a document's field and relation ids mean.

Queries — Fields 2 types

[FieldRef 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-fieldref-fieldref/)

A named, kinded accessor.

[Fields 10 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-fields-fields/)

Typed field handles.

Queries — Operators 1 type

[Operator 15 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-operator-operator/)

The scalar comparisons an expression can hold. Evaluation stays a total switch.

Queries — Expressions 1 type

[FilterExpr 11 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-filterexpr-filterexpr/)

A filter that is both runnable and readable.

Snapshots 10 types

[CaptureSpec 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-capturespec-capturespec/)

What part of a pane to read, and how.

[ClientState 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-clientstate-clientstate/)

A client as one capture saw it.

[PaneState 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-panestate-panestate/)

A pane as one capture saw it.

[ServerSnapshot 13 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-serversnapshot-serversnapshot/)

One tmux hierarchy, as it was at one moment.

[SessionState 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-sessionstate-sessionstate/)

A session as one capture saw it.

[WindowContext 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-windowcontext-windowcontext/)

One tmux winlink: a window as it appears in one session, at one index.

[WindowState 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshot-windowstate-windowstate/)

A window as one capture saw it, at one of its positions.

[SnapshotCapture 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-snapshotcapture-snapshotcapture/)

Reads a whole tmux server into one snapshot.

[TextOutcome 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-textoutcome-textoutcome/)

Why a wait for text on a pane ended.

[TypedText 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-typedtext-typedtext/)

Discounts input recorded by this library when reading a pane's output.

Workspaces — Plans 4 types

[Workspace 0 members](https://libtmux.org/en/java/latest/workspace/reference/io-github-libtmux-workspace-workspace-workspace/)

A session described in a file, before anything has been built.

[WorkspaceApplier 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-workspace-workspaceapplier-workspaceapplier/)

Applies a validated workspace as one session and attempts to remove it after a failure.

[WorkspaceBuilder 3 members](https://libtmux.org/en/java/latest/workspace/reference/io-github-libtmux-workspace-workspacebuilder-workspacebuilder/)

Builds a tmux session from a written description.

[WorkspaceParser 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-workspace-workspaceparser-workspaceparser/)

Converts the supported YAML shape into immutable workspace values.

Requests 1 type

[CommandRequest 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-commandrequest-commandrequest/)

One tmux invocation: how to reach the server, then the commands to run there.

Errors 8 types

[TmuxFormatException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-format-tmuxformatexception-tmuxformatexception/)

A listing row did not have the shape its template asked for.

[LibTmuxException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-libtmuxexception-libtmuxexception/)

The root of every operational failure this library raises.

[ObjectDoesNotExistException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-objectdoesnotexistexception-objectdoesnotexistexception/)

A live server does not have the object a handle addresses.

[TmuxTimeoutException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-tmuxtimeoutexception-tmuxtimeoutexception/)

A request crossed the process boundary but did not finish before its deadline.

[TmuxTransportException 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-tmuxtransportexception-tmuxtransportexception/)

A transport failure, carrying how certain it is that tmux applied the command.

[UnencodableTextException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-unencodabletextexception-unencodabletextexception/)

Text this JVM cannot hand to tmux intact, with no route left to send it by.

[UnsupportedTmuxVersionException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-unsupportedtmuxversionexception-unsupportedtmuxversionexception/)

The running tmux does not have something the call asked for.

[SchemaException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-jackson-schemaexception-schemaexception/)

A document could not be read as the expression it claims to be.

Errors — Server 1 type

[ServerNotRunningException 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-servernotrunningexception-servernotrunningexception/)

No tmux daemon answered on this endpoint.

Constants and enums 6 types

[BatchResult 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-batch-batchresult-batchresult/)

What became of every operation in one batch.

[OperationResult 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-batch-operationresult-operationresult/)

One operation's own result within a batch.

[ControlEvent 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-controlevent-controlevent/)

Something tmux volunteered, rather than an answer to a request.

[Options 13 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-options-options/)

The tmux options at one scope.

[FieldKind 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-query-fieldkind-fieldkind/)

The value kind a field reads.

[CommandResult 2 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-transport-commandresult-commandresult/)

One completed invocation.

Constants and enums — Pane 1 type

[PaneMode 10 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-panemode-panemode/)

A mode a pane can be in, as tmux names them.

Testing utilities 4 types

[FakeTmux 11 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-junit5-faketmux-faketmux/)

A tmux server that is not there, for testing code that uses this library without starting one.

[NamedServerFixture 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-junit5-namedserverfixture-namedserverfixture/)

Owns the safe teardown of a tmux server addressed by socket name.

[TmuxExtension 8 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-junit5-tmuxextension-tmuxextension/)

Gives each test its own tmux server and guarantees it is gone afterwards.

[TmuxSocketPath 0 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-junit5-tmuxsocketpath-tmuxsocketpath/)

The socket a fixture server is listening on.

Internal 1 type

[Utf8 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-internal-utf8-utf8/)

The UTF-8 boundary shared by process and control transports, in both directions.

Internal — Commands 2 types

[CommandStrings 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-internal-commandstrings-commandstrings/)

Encodes a tmux command for each of the two parsers tmux reads commands with.

[ProcessTree 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-internal-processtree-processtree/)

Owns bounded, idempotent termination of one process and its observable descendants.

Other 6 types

[Batch 5 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-batch-batch-batch/)

Several tmux commands in one invocation, each with an outcome of its own.

[OperationOutcome 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-batch-operationoutcome-operationoutcome/)

What became of one operation in a batch.

[Channel 7 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-channel-channel/)

One of tmux's wait-for channels, named once.

[TargetIds 1 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-targetids-targetids/)

Shared validation for the sigil-prefixed ids tmux hands out.

[WakeReason 3 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-wakereason-wakereason/)

Why a wait on a tmux channel ended.

[LibTmuxModels 4 members](https://libtmux.org/en/java/latest/reference/io-github-libtmux-jackson-libtmuxmodels-libtmuxmodels/)

The wire ids for this library's own entities.
