API reference
Browse the Java types and operations for working with tmux. Start with the core objects below, or search for a type or member.
Server 5 types
Manages sessions, windows, and panes on a tmux server.
Which tmux server incarnation a handle or batch may act on: the pid tmux reports, and its start time when known, since a pid alone is reusable — a tmux started on the pid of one just probed, as a container's first processes often are, would otherwise answer as if it were that server.
What a server needs to know before it runs anything: which tmux, which server, which config.
Which tmux server to talk to.
Which tmux server a handle belongs to.
Session 6 types
One tmux session, as one capture saw it.
Assembles the pieces Server#newSession(SessionSpec) needs before tmux has a session yet.
A tmux session id, such as $0.
Resolves a caller-given session name to the id tmux keeps it under.
How a session should be made.
Window 7 types
One tmux window at one of its positions, as one capture saw it.
A tmux window id, such as @1.
Where a window sits in one session.
A window's layout as tmux reported it, in whichever of its two forms it used.
Where a new window is inserted relative to the current one.
How a window should be made.
Pane 12 types
One tmux pane, as one capture saw it.
The line typed at a pane's shell to run one command to its end, and how its output is read back.
Tracks pending and recently submitted input under each server incarnation and pane id.
Which sides of its window a pane touches.
A tmux pane id, such as %2.
One writer at a time for a pane's keyboard, paste, and shell run.
Where a pane's top-left corner sits in its window, in terminal cells.
How a command run in a pane with Pane#run() ended, and what it printed.
How big a new pane should be.
What runs in a new pane.
Polls a pane on a timer for Pane#awaitText() and Pane#await().
Client 3 types
One attached tmux client, as one capture saw it.
What a client was looking at.
Hooks 1 type
The tmux hooks at one scope.
Options 1 type
A tmux option and the Java type its value reads as.
Keys and bindings 1 type
The server's key bindings, in one key table or across all of them.
Buffers 2 types
One tmux paste buffer, as a listing described it.
The tmux server's paste buffers.
Layout and geometry 7 types
How big something is, in terminal cells.
Which way to move or grow something.
tmux's restricted JSON grammar and layout cells, for pre-mutation workspace validation.
One of tmux's built-in pane arrangements.
Which layout names are safe to hand to tmux.
Where a new pane goes relative to the one being split.
How a pane should be split.
Environment 2 types
The environment tmux gives to processes it starts, at one scope.
What tmux tells a program running inside one of its panes.
Versions 1 type
A released tmux version, ordered the way tmux releases are.
Commands 13 types
A sequence of tmux commands where each one acts on what the last one made.
The commands this tmux knows, read without starting a server to answer.
The server's own message log, newest last.
Decodes tmux's printed output against the version the server actually reports, framed with process-local markers so a reply is read back exactly whatever quirks that version's own printing has.
The server's command-prompt history.
A shell command run by tmux, and a tmux command chosen by a shell command's exit status.
How certain the transport is that tmux applied a request.
Whether running a request twice leaves tmux as running it once does.
Receives one OperationReport after each command.
One command a transport finished or failed to finish.
Turns a drained pipe into lines while preserving tmux values.
The default transport: one child process per call, drained by a bounded pool of platform threads.
Runs one tmux command and blocks until it has an answer.
Control mode 11 types
A tmux client that stays attached and answers one command at a time.
Reads bounded physical lines from a control client's byte stream.
Frames control-mode replies and encodes requests for tmux's command parser.
One command's reply in control mode.
Owns the process-pipe write and the FIFO that attributes replies to requests.
One step in a control subscription.
Pulls events volunteered by one control client.
What a control-mode notification says, typed, for matching on.
Terminal output tmux pushed without being asked.
Decodes a subscriber's raw UTF-8 output independently of other subscribers. Incomplete characters wait for the same pane's next chunk; malformed bytes become \xHH escapes. Call #reset() after each subscription gap and #finish() at termination. Confine an instance to one reader.
Starts a long-lived tmux process in a transport's realm.
Formats 3 types
A listing template and the reader for the rows it produces.
The token this process marks its own text with.
Values handed to a tmux argument position that expands formats.
Queries 4 types
Cardinality with the ambiguity removed.
Lowers a FilterExpr to a tmux -f format when every node is one tmux can apply.
The versioned wire form of a filter expression.
What a document's field and relation ids mean.
Queries — Fields 2 types
Queries — Operators 1 type
The scalar comparisons an expression can hold. Evaluation stays a total switch.
Queries — Expressions 1 type
A filter that is both runnable and readable.
Snapshots 12 types
Retains metadata and handles from one authenticated server capture.
What part of a pane to read, and how.
A client as one capture saw it.
A pane as one capture saw it.
A live copy of one tmux server's sessions, windows, panes and clients, rebuilt whenever tmux announces a change.
One tmux hierarchy, as it was at one moment.
A session as one capture saw it.
One tmux winlink: a window as it appears in one session, at one index.
A window as one capture saw it, at one of its positions.
Reads a whole tmux server into one snapshot.
Why a wait for text on a pane ended.
Discounts input recorded by this library when reading a pane's output.
Workspaces — Plans 2 types
Applies a validated workspace as one session and attempts to remove it after a failure.
Converts the supported YAML shape into immutable workspace values.
Requests 1 type
One tmux invocation: how to reach the server, then the commands to run there.
Errors 10 types
A lookup that required exactly one match, or at most one, did not get it.
tmux ran a command to completion and refused it.
The control client ended, and anything reading from it will not resume.
The request did not complete, with how certain it is that tmux applied it.
The root of every operational failure this library raises.
tmux answered, and the answer did not have the shape this library asked for.
The server answered, and the session, window, pane, buffer or server incarnation a handle addresses is gone.
Text this JVM cannot hand to tmux intact, with no route left to send it by.
The running tmux does not have something the call asked for.
A document could not be read as the expression it claims to be.
Errors — Server 2 types
A handle was used after the io.github.libtmux.Server it belongs to was closed.
No tmux daemon answered on this endpoint.
Constants and enums 7 types
What became of every operation in one batch.
One operation's own result within a batch.
What shape a facade needs to give one operation of the core API.
Something tmux volunteered, rather than an answer to a request.
The tmux options at one scope.
The value kind a field reads.
One completed invocation.
Constants and enums — Pane 1 type
A mode a pane can be in, as tmux names them.
Testing utilities 12 types
A tmux -C client of a FakeTmux, as the process a control client talks to.
One pane in a FakeWindow.
One session in a FakeTmux, holding its windows in creation order.
A tmux server that is not there, for testing code that uses this library without starting one.
One window in a FakeSession, holding its panes in creation order.
A command's flags and the words after them, read as tmux's argument parser reads them.
The part of tmux's format language the library sends: variables, comparisons, && and ||, ? conditionals, and the W: and P: loops.
Reads a command group the way tmux's command parser reads it: words in single quotes, a quote spelled '\'', a line break spelled "\n", commands separated by ;.
Owns the safe teardown of a tmux server addressed by socket name.
A session, one of its windows, and one of that window's panes: what a command is scoped to.
Gives each test its own tmux server and checks its exit during teardown.
The socket a fixture server is listening on.
Internal 7 types
Qualifies a carrier-owned endpoint before the first control effect.
What tmux printed on its error stream, as it appears in a failure's message.
A pin created only by carriers that own this filesystem.
What the supported daemons can do, and the release defects this library works around.
The tmux version check shared by command dispatch and control-client startup.
Feature boundaries for literal commands and the commands hidden by managed guards.
The UTF-8 boundary shared by process and control transports, in both directions.
Internal — Commands 2 types
Encodes a tmux command for each of the two parsers tmux reads commands with.
Owns bounded, idempotent termination of one process and its observable descendants.
Other 10 types
Several tmux commands in one invocation, each with an outcome of its own.
What became of one operation in a batch.
Public for orchestration across processes or clients, such as the MCP server's pane reservations; not part of the surface a language facade mirrors.
Classifies one public method of the core API as a tmux operation of a given Kind.
What the running tmux does with a session or window name.
Shared validation for the sigil-prefixed ids tmux hands out.
How a wait for text on a pane ended, and what the pane had shown by then.
Why a wait on a tmux channel ended.
The wire ids for this library's own entities.
By module 16 modules
-
io.github.libtmux 67
- Buffer
Info - Buffers
- Captured
Server - Capture
Spec - Channel
- Client
- Client_
- Client
Attachment - Command
Chain - Commands
- Dimensions
- Environment
- Hooks
- Incarnation
Fence - Json
Layout - Keys
- Layouts
- Message
Log - Names
- Option
Key - Options
- Pane
- Pane_
- Pane
Command - Pane
Echo - Pane
Edges - Pane
Id - Pane
Input - Pane
Position - Pane
Run - Pane
Wait - Printed
Text - Prompt
- Server
- Server
Config - Server
Identity - Session
- Session_
- Session
Creation - Session
Id - Session
Lookup - Session
Spec - Shell
- Snapshot
Capture - Split
Spec - Target
Ids - Text
Wait - Tmux
Environment - Tmux
Formats - Tmux
Version - Typed
Text - Window
- Window_
- Window
Id - Window
Index - Window
Spec - Direction
- Layout
- Pane
Mode - Split
Direction - Text
Outcome - Wake
Reason - Window
Placement - Pane
Size - Pane
Start - Server
Endpoint - Window
Layout
- Buffer
-
io.github.libtmux.batch 4
-
io.github.libtmux.control 11
-
io.github.libtmux.internal 7
-
io.github.libtmux.jackson 4
-
io.github.libtmux.junit5 12
-
io.github.libtmux.mcp 2
-
io.github.libtmux.query 7
-
io.github.libtmux.snapshot 7
-
io.github.libtmux.transport 10
-
io.github.libtmux.workspace 6
-
io.github.libtmux.internal.support 2
-
Types 1