# window.Window.last_pane

- **Module:** window.Window
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/window/navigation.rs#L184
- **Page:** https://libtmux.org/en/rs/latest/reference/window-window-last_pane/

```
window.Window.last_pane(self) -> Result<Option<Pane>, Error>
```

Move to the pane that was active before this one, and return it.

`None` when nothing else has been active yet, which a window holding
one pane never has. That is an ordinary state rather than a failure,
so it is reported as absence; an error means tmux could not be reached
or refused the move for some other reason.

# Errors

Returns an error when tmux cannot be reached or refuses the move.

## Example

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

let guard = libtmux::test::TestServer::new().await?;
let session = guard.server().new_session("panes").await?;
let mut window = session.active_window().await?.expect("a window");

// One pane, so there is nowhere to go back to and nothing broke.
assert!(window.last_pane().await?.is_none());

window.split(SplitOptions::new(SplitDirection::Below).select()).await?;
assert!(window.last_pane().await?.is_some());

guard.shutdown().await?;
```
