Crate tmux_tui

Source
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, x to 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 App so it can read state directly; no mutation happens here.

Functions§

main 🔒
run 🔒