freeze.freeze
-
Describe a live session as a workspace.
The result is a
Workspace, so it can be rendered withWorkspace::to_yamlor handed straight back tocrate::WorkspaceBuilderto make another like it.A pane is described by the command tmux says it is running, by name and without its arguments. A pane at its shell's prompt freezes to a pane with no command: tmux reports the shell itself, and recording it would start a shell inside a shell when the file is built. A shell is the session's
default-shell, or a common interactive shell by name.Errors
Returns an error when the session's windows or panes cannot be listed.
Examples
use libtmux::{SplitDirection, SplitOptions};use tmux_workspace::freeze;let guard = libtmux::test::TestServer::new().await?;let session = guard.server().new_session("built-by-hand").await?;let mut window = session.active_window().await?.expect("a window");window.split(SplitOptions::new(SplitDirection::Below)).await?;let workspace = freeze(&session).await?;assert_eq!(workspace.session_name, "built-by-hand");assert_eq!(workspace.windows.len(), 1);assert_eq!(workspace.windows[0].panes.len(), 2);// And it round-trips through the file format.let yaml = workspace.to_yaml();assert_eq!(tmux_workspace::Workspace::from_yaml(&yaml)?, workspace);guard.shutdown().await?;Discussed in Build a workspace from a file · Rust workspace internals , Use the Rust workspace builder , Rust workspace builder behavior , Rust workspace builder API
In other ports Export a live session as workspace data
- Python
tmuxp.workspace.freezer.freeze - Ruby No source-verified Ruby equivalent is recorded for this operation.
- Lua No source-verified Lua equivalent is recorded for this operation.
- TypeScript the workspace package applies descriptions but does not export live sessions
- Go the workspace module builds descriptions but has no live-session export
- Java the workspace module builds descriptions but has no live-session export
- .NET the workspace package builds descriptions but has no live-session export
- C++ the source-only workspace consumer builds descriptions but has no live-session export
- Swift encoding a Workspace serializes an existing description; it does not read a live session
- Python