Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-rs latest

Window.rotate

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

Source and package
Qualified name
libtmux::window::Window::rotate
Module
window
Declared in
Window
Package
libtmux
Source
crates/libtmux/src/window.rs
Other languages
Perl Erlang PowerShell Julia Elixir Haskell Common Lisp Python Ruby Lua TypeScriptGoJavaC#C++Swift Kotlin Scala OCaml F# Clojure
pub async fn rotate(&self, rotation: Rotation) -> Result< (), Error >

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?;
Parameters

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

Equivalents of Rotate panes within a window in other languages
Language Equivalent
Python libtmux.Window.rotate
Haskell No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing.
TypeScript window.Window.rotate
Go tmux.Window.Rotate
Java io.github.libtmux.Window.rotate
C# LibTmux.Window.RotateAsync
C++ libtmux::Window::rotate
Swift Server.rotate(_:upward:)
OCaml Libtmux_unix.Client.rotate_panes
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#.

Esc

Type to search.

Reference previewOpen reference