libtmux Reference MCP Search

Go

Go

Drive a real tmux from Go.

github.com/libtmux/libtmux-go/tmux

Install

$ go get github.com/libtmux/libtmux-go

Quickstart

session, err := server.NewSession(ctx, tmux.NewSessionRequest{
Name: "libtmux-go-quickstart", WindowName: "start",
})
if err != nil {
return fmt.Errorf("create session: %w", err)
}
windowName := "work"
window, err := session.NewWindow(ctx, tmux.NewWindowRequest{Name: &windowName})
if err != nil {
return fmt.Errorf("create window: %w", err)
}
pane, err := window.SplitPane(ctx, tmux.SplitPaneRequest{
Direction: tmux.PaneDirectionRight,
})
if err != nil {
return fmt.Errorf("split window: %w", err)
}
command := "printf 'libtmux ready\\n'"
if err := pane.SendKeys(ctx, tmux.SendKeysRequest{Command: &command, Literal: true}); err != nil {
return fmt.Errorf("send command: %w", err)
}

The session creation from examples/quickstart/main.go, prepended to the README's own <!-- docs:quickstart --> region from the same file — go generate ./tmux regenerates that region from the file and CI fails if they disagree. Runnable as-is: go -C examples run ./quickstart.

API References

Read on

Esc

Type to search.