Core LibraryalphaGuides

Choose documentation 3

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Edit this page on GitHub

Getting started

Use the tmux package to create sessions, send input and read pane output from Go. The complete capture program includes imports, its entry point, project files, dependency setup and a run command.

Run the smallest thing that proves it works

Open that example in an empty directory and save the files using their displayed names. Its setup pins the library revision that was used to execute the program. It needs tmux on PATH and the native tools named on the example page.

The program creates a private server, sends a command, waits for the complete line libtmux capture ready, then cleans up. A timeout or command failure is reported. It does not need an existing tmux session.

What just happened

Pane.Capture takes a tmux.CapturePaneRequest. Use Start and End to choose a range; tmux.CaptureBoundary reaches the corresponding history or screen boundary. The complete program reads the visible screen, compares full lines and stops when its context expires.

Connect to an existing server

Use the complete attach program to select an existing socket and find the work session. That example leaves tmux running; its launcher owns setup and cleanup for trying it safely.

Create and inspect the hierarchy

The complete hierarchy programs create a session, add a window, split a pane and list the resulting objects. They also show how captured records differ from a fresh read after a rename.

Where to go next

Sending keys explains input, and Capturing output explains completion. Querying and filtering selects a target.

Esc

Type to search.

Reference preview Open reference