ttree  ·  GitLab

ttree

A terminal UI for managing tmux sessions — tree navigation, live pane preview, and full mouse support.

Rust Ratatui tmux ~1800 LOC
$ cargo install --git https://gitlab.com/tek.cat/ttree

Demo

video coming soon

Features

🌲

Tree navigation

Browse sessions → windows → panes in a collapsible sidebar. Smart collapsing hides the hierarchy for simple sessions.

👁

Live pane preview

Embedded PTY renders the active pane in real time. Click any session in the sidebar to switch — without leaving preview mode.

🖱

Full mouse support

Click to select, scroll to navigate, drag the divider to resize the sidebar, and pass mouse events through to the embedded terminal.

💾

Persistent state

Selection, expanded nodes, and sidebar width are saved to disk and restored on next launch.

⌨️

Vim keybindings

j/k/h/l for navigation, plus new session, rename, attach, and help.

🔄

Real-time sync

Tree state syncs with tmux every 200 ms — new panes and closed sessions appear automatically.

Keybindings

j / Move selection down
k / Move selection up
h / Collapse node / jump to parent
l / Expand node / jump to first child
SpaceToggle expand/collapse
EnterOpen live preview panel
aAttach to selected session / window / pane
nCreate new session
rRename selected session
Ctrl+PToggle focus between tree and preview
?Help overlay
qQuit
Ctrl+B d(Preview mode) Return to tree
Ctrl+B (Preview mode) Pass prefix key to tmux

Stack