Core LibraryalphaTopics

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

Ownership and cleanup

A tmux session, window, or pane normally remains until you kill it. Scope-based cleanup can kill it when your code leaves a block, including after an exception. See Workspaces for a temporary layout example.

Release connections and kill owned sessions

Control connections and notification streams implement [Symbol.asyncDispose]. await using releases those handles; it leaves the watched session and panes running. Use finally to kill a session your program owns:

const session = await server.newSession({ name: "work" });
try {
const window = await session.newWindow({ name: "editor" });
await window.panes.at(0)?.sendKeys("echo hi");
} finally {
await session.kill();
}

Testing cleanup

Use explicit cleanup for objects whose handles have no disposal hook. For an entire disposable test server, prefer your port’s test fixture or server guard; see Testing with libtmux.

Esc

Type to search.

Reference preview Open reference