server.Server.cmd
- Module
- server
- Declared in
- Server
- Package
- libtmux
- Source
- packages/libtmux/src/server.ts
- Other languages
- PythonRubyLuaRustGoJava .NET C++ Swift
-
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
TmuxCommandErrorlike any other command, carrying tmux's own stderr.In other ports Run a tmux command this port does not model
- Python
libtmux.Server.cmd - Ruby
LibTmux::Server#run - Lua
libtmux.Server:command - Rust
server.Server.cmd - Go
tmux.Server.Cmd - Java
io.github.libtmux.Server.Server.cmd - .NET no equivalent on
Server - C++ no equivalent on
Server - Swift no equivalent on
Server
- Python
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