# libtmux.Pane.swap

- **Module:** libtmux
- **Package:** libtmux
- **Language:** Python
- **Kind:** method
- **Source:** https://github.com/tmux-python/libtmux/blob/38e368c11117fb4aeb2f082d552cd4f210eae06a/src/libtmux/pane.py#L2483
- **Page:** https://libtmux.org/en/py/stable/reference/libtmux-pane-swap/

tmux command: [`swap-pane`](/en/tmux/latest/manual/swap-pane/)

```
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`](/en/tmux/latest/manual/swap-pane/).

## Examples

```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()
```

## Parameters

- `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).

## In other ports

### Exchange two panes

- Ruby: [`LibTmux::Pane#swap`](/en/ruby/latest/reference/libtmux-pane-swap/) (method)
- Lua: [`libtmux.Pane:swap`](/en/lua/latest/reference/libtmux-pane-swap/) (method)
- TypeScript: [`pane.Pane.swapWith`](/en/ts/latest/reference/pane-pane-swapwith/) (method)
- Rust: [`pane.Pane.swap_with`](/en/rs/latest/reference/pane-pane-swap_with/) (method)
- Go: [`tmux.Pane.Swap`](/en/go/latest/reference/tmux-pane-swap/) (method)
- Java: [`io.github.libtmux.Pane.Pane.swapWith`](/en/java/latest/reference/io-github-libtmux-pane-pane-swapwith/) (method)
- C#: [`LibTmux.Pane.SwapAsync`](/en/csharp/latest/reference/libtmux-pane-swapasync/) (method)
- C++: [`libtmux::Pane::swap_with`](/en/cxx/latest/reference/libtmux-pane-swap_with/) (method)
