Core Library0.xTopics

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

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 previewOpen reference