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

server.Server.cmd

TypeScript

View as Markdown

Module
server
Declared in
Server
Package
libtmux
Source
packages/libtmux/src/server.ts
Other languages
PythonRubyLuaRustGoJava .NET C++ Swift
cmd ( command : : string , args : : readonly string[] = [] , options : : CmdOptions ) → Promise<readonly string[]>
method [source]
method [source]
cmd

Run a tmux command this package does not model.

tmux has many more commands than any wrapper types. Rather than leaving a caller to build their own subprocess — and reproduce the socket, the environment, the deadline, and the error handling — this runs one through the same path every other operation uses.

Failure raises TmuxCommandError like any other command, carrying tmux's own stderr.

In other ports Run a tmux command this port does not model

Examples

await server.cmd("list-keys", ["-T", "copy-mode"]);
>>> server.cmd('display-message', 'hi')
<libtmux.common.tmux_cmd object at ...>

New session:

>>> server.cmd('new-session', '-d', '-P', '-F#{session_id}').stdout[0]
'$2'
>>> session.cmd('new-window', '-P').stdout[0]
'libtmux...:2.0'

Output of tmux -L ... new-window -P -F#{window_id} to a Window object:

>>> Window.from_window_id(window_id=session.cmd(
... 'new-window', '-P', '-F#{window_id}').stdout[0], server=session.server)
Window(@4 3:..., Session($1 libtmux_...))

Create a pane from a window:

>>> window.cmd('split-window', '-P', '-F#{pane_id}').stdout[0]
'%5'

Output of tmux -L ... split-window -P -F#{pane_id} to a Pane object:

>>> Pane.from_pane_id(pane_id=window.cmd(
... 'split-window', '-P', '-F#{pane_id}').stdout[0], server=window.server)
Pane(%... Window(@... ...:..., Session($1 libtmux_...)))
let server = libtmux::Server::builder()
.socket_path("/tmp/libtmux-rs-test/command-example-absent.sock")
.build()?;
let result = server.cmd(libtmux::Command::new("list-sessions")).await?;
assert!(result.exit_code().is_some());
server.shutdown().await?;

0 declared, 0 inherited

Esc

Type to search.