Window.rotate
Move the window's panes round one position, keeping the layout.
Source and package
-
Description#
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.
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?;
tmux command#
The tmux commands behind rotate.
tmux C API#
The C declarations in tmux that implement these commands.
In other ports#
Rotate panes within a window
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | window |
| Go | tmux |
| Java | io |
| C# | Lib |
| C++ | libtmux:: |
| Swift | Server |
| OCaml | Libtmux |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |
No equivalent is recorded in Ruby, Lua, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.