libtmux Reference MCP Search
On this page

server.Server.chain

View as Markdown

Module
server
Declared in
Server
Package
libtmux
Source
crates/libtmux/src/server.rs
chain ( self , chain : CommandChain ) Result<CommandResult, Error>
method [source]
method [source]
chain

Dispatch several commands as one tmux a \; b invocation.

One process, one exit status, one merged stdout. tmux runs the chain up to the first failure and drops the remainder, so this trades the ability to tell *which* command failed for a single round trip. The merged result is identical whichever member failed: use it when the commands succeed or fail as a unit, and Server::cmd when you need to know where a failure happened.

Errors

Returns an error when the process cannot be started, captured, awaited, or is cancelled by timeout or shutdown. A command tmux refuses is reported through the returned [ CommandResult ], not as an error.

Examples

use libtmux::{Command, CommandChain};

let server = libtmux::Server::builder()
    .socket_path("/tmp/libtmux-rs-test/chain-example-absent.sock")
    .build()?;
let chain = CommandChain::new(Command::new("list-sessions"))
    .then(Command::new("list-panes"));
let result = server.chain(chain).await?;
assert!(result.exit_code().is_some());
server.shutdown().await?;

0 declared, 0 inherited

Esc

Type to search.