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

Python API

Python documentation

libtmux.Server.cmd

Python

View as Markdown

Module
libtmux
Declared in
Server
Package
libtmux
Source
src/libtmux/server.py
Other languages
RubyLuaTypeScriptRustGoJava .NET C++ Swift
cmd ( self , cmd : str , args : t.Any , target : str | int | None = None ) → tmux_cmd
method [source]
method [source]
cmd

Execute tmux command respective of socket name and file, return output.

Parameters
  • target ( str | int | None ) – Optional custom target.

Returns

common.tmux_cmd

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

Examples

>>> 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_...)))
await server.cmd("list-keys", ["-T", "copy-mode"]);
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.