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

View as Markdown

Module
window
Declared in
Window
Package
libtmux
Source
crates/libtmux/src/window.rs
Other languages
PythonTypeScriptGoJava.NETC++Swift
rotate ( self , rotation : Rotation ) → Result<(), Error>
method [source]
method [source]
rotate

Move the window's panes round one position, keeping the layout.

The panes swap places within the arrangement rather than the arrangement changing, so a rotation of a three-pane window three times returns it to where it started.

Errors

Returns an error when tmux cannot be reached or refuses the rotation.

In other ports Rotate panes within a window

Examples

use libtmux::{Rotation, SplitDirection, SplitOptions};
let guard = libtmux::test::TestServer::new().await?;
let session = guard.server().new_session("turning").await?;
let mut window = session.active_window().await?.expect("a window");
window.split(SplitOptions::new(SplitDirection::Below)).await?;
let before: Vec<_> = window.panes().await?.iter().map(|p| p.id().clone()).collect();
window.rotate(Rotation::Up).await?;
let after: Vec<_> = window.panes().await?.iter().map(|p| p.id().clone()).collect();
assert_ne!(before, after, "the panes moved");
window.rotate(Rotation::Down).await?;
let back: Vec<_> = window.panes().await?.iter().map(|p| p.id().clone()).collect();
assert_eq!(before, back, "and the other way undoes it");
guard.shutdown().await?;
>>> pane1 = window.active_pane
>>> pane2 = window.split()
>>> window.rotate()
Window(...)
await window.rotate("forward");

0 declared, 0 inherited

Esc

Type to search.