Metadata-Version: 2.4
Name: tmux-pane-mover
Version: 0.1.0
Summary: Drag-and-drop TUI for rearranging tmux panes
Project-URL: Homepage, https://github.com/tzafrir/tmux-pane-mover
Project-URL: Repository, https://github.com/tzafrir/tmux-pane-mover
Project-URL: Issues, https://github.com/tzafrir/tmux-pane-mover/issues
Author-email: Tzafrir Rehan <tzafrir.r@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Terminals
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: textual>=0.40
Description-Content-Type: text/markdown

# tmux-pane-mover

[![PyPI](https://img.shields.io/pypi/v/tmux-pane-mover)](https://pypi.org/project/tmux-pane-mover/)
[![Python](https://img.shields.io/pypi/pyversions/tmux-pane-mover)](https://pypi.org/project/tmux-pane-mover/)
[![License](https://img.shields.io/pypi/l/tmux-pane-mover)](https://github.com/tzafrir/tmux-pane-mover/blob/main/LICENSE)
[![Downloads](https://img.shields.io/pypi/dm/tmux-pane-mover)](https://pypi.org/project/tmux-pane-mover/)

Drag-and-drop TUI for rearranging tmux panes.

![screenshot](https://raw.githubusercontent.com/tzafrir/tmux-pane-mover/main/images/screenshot.png)

## Features

- **Swap panes** -- drag one pane onto the center of another to swap their contents
- **Split at pane edges** -- drop on the edge of a pane to split it left/right/above/below
- **Screen-edge zones** -- drag to the screen edge to create a full-width row or full-height column
- **Visual feedback** -- highlighted drop zones, drag ghost, and action labels

## Installation

```
pip install tmux-pane-mover
```

## Usage

Run inside a tmux session:

```
tmux-pane-mover
```

### Key bindings

| Key | Action |
|-----|--------|
| Mouse drag | Pick up and drop panes |
| `q` | Quit |
| `r` | Reload pane layout |

### Drop zones

- **Center of a pane** -- swap contents (`tmux swap-pane`)
- **Edge of a pane** -- split there (`tmux join-pane`)
- **Screen edge strip** -- outermost column/row split (`tmux join-pane -f`)

## Requirements

- tmux
- Python 3.10+

## License

MIT
