# pane.Pane.toggle_zoom

- **Module:** pane.Pane
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/pane.rs#L529
- **Page:** https://libtmux.org/reference/rs/pane-pane-toggle_zoom/

```
pane.Pane.toggle_zoom(mut) -> Result<&mut Self, Error>
```

Zoom the pane to fill its window, or restore it if it already fills it.

tmux models this as one toggle rather than two operations, and
[`Window::is_zoomed`] reports which way it went.

# Errors

Returns an error when tmux refuses the request.

## Example

```rust
use libtmux::{SplitDirection, SplitOptions};

let session = server.new_session("zoomed").await?;
let pane = session.panes().await?.remove(0);
pane.split(SplitOptions::new(SplitDirection::Below).command("sleep 300")).await?;

let mut pane = pane.refreshed().await?;
pane.toggle_zoom().await?;
assert!(pane.window().await?.expect("the window").is_zoomed());

pane.toggle_zoom().await?;
assert!(!pane.window().await?.expect("the window").is_zoomed());
```
