# libtmux.Pane.swap

- **Module:** libtmux.Pane
- **Package:** libtmux
- **Language:** Python
- **Kind:** method
- **Source:** https://github.com/tmux-python/libtmux/blob/036c521c4b83ce6e434eb50afe2a0d08a6a05e46/src/libtmux/pane.py#L2502
- **Page:** https://libtmux.org/reference/py/libtmux-pane-swap/

```
libtmux.Pane.swap(self, target: str | Pane | None = None, detach: bool | None = None, move_up: bool | None = None, move_down: bool | None = None, keep_zoom: bool | None = None) -> None
```

Swap this pane with another via ``$ tmux swap-pane``.

## Parameters

- `self`
- `target` (str | Pane | None) — Target pane to swap with. Can be a pane ID string or Pane object.
Mutually exclusive with *move_up* / *move_down*.
Now optional; required only when *move_up* / *move_down* are
not set. Versionchanged: 0.56
- `detach` (bool | None) — Do not change the active pane (``-d`` flag).
- `move_up` (bool | None) — Swap with the pane above (``-U`` flag). Mutually exclusive with
*target* and *move_down*.
- `move_down` (bool | None) — Swap with the pane below (``-D`` flag). Mutually exclusive with
*target* and *move_up*.
- `keep_zoom` (bool | None) — Keep the window zoomed if it was zoomed (``-Z`` flag).

## Example

```python
>>> pane1 = window.active_pane
>>> pane2 = window.split()
>>> pane1_id, pane2_id = pane1.pane_id, pane2.pane_id
>>> pane1.swap(pane2)
>>> pane1.refresh()
>>> pane2.refresh()
```
