Expand description
tmux-tui — a mouse-driven drag-and-drop layout manager for tmux.
Two views, toggled with Tab (or the [ windows ] / [ panes ] button):
- Pane mode — the current window’s panes as a scaled schematic. Drag to
swap, click to select,
|/-to split,xto kill,1..5/space to change layout, right-click for a context menu. - Window mode (mission control) — every window as a tile drawn with its own mini pane-layout. Drag a window onto another to reorder, drag a pane into another window to relocate it, click to switch, right-click to rename / create / close.
You drag schematic boxes, not the live pane contents — true live-pane dragging is the thing tmux core itself can’t do yet (tmux#3503).
Modules§
- app 🔒
- Application state and behavior: what the manager knows and what each
gesture does. Rendering lives in
crate::ui. - geometry 🔒
- Pure geometry: scaling tmux cell-coordinates into screen rectangles and hit-testing the cursor against them. No tmux or terminal I/O here.
- menu 🔒
- Context-menu model and the menu-item builder.
- tmux 🔒
- tmux process interaction: data models and command wrappers.
- ui 🔒
- Rendering. All drawing is implemented as methods on
Appso it can read state directly; no mutation happens here.