- Module
- window
- Declared in
- Window
- Package
- libtmux
- Source
- crates/libtmux/src/window.rs
- Other languages
- PythonTypeScriptGoJava.NETC++Swift
-
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
- Python
libtmux.Window.rotate - TypeScript
window.Window.rotate - Go
tmux.Window.Rotate - Java
io.github.libtmux.Window.Window.rotate - .NET
LibTmux.Window.RotateAsync - C++
libtmux::Window::rotate - Swift
Server.rotate(_:upward:)
- Python
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