Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tmux-manager

A cool, opinionated tmux setup for people who keep a lot of terminals open. It replaces a wall of scattered Terminal.app tabs with one organized, persistent, searchable tmux workspace — and gives you a live dashboard of everything running.

It's the tmux-native successor to ~/terminal-manager/tm.py: instead of poking Terminal.app over AppleScript, it drives the tmux server directly (much faster, and it can act on panes, not just view them).

Install

~/tmux-manager/install.sh

Idempotent and safe to re-run. It links the tm* tools into ~/.local/bin, wires ~/.tmux.conf to source tmux.conf (backing up anything already there), and preserves your old Terminal.app manager as tm-old. Then open a new terminal (or source ~/.zshrc). brew install fzf is recommended for the fuzzy pickers.

Check everything with tm doctor.

The tm command

Command What it does
tm Attach/create your workspace (or, inside tmux, open the switcher)
tm <name> Jump to a project session — creates it if missing
tm pick Fuzzy project launcher (scans ~ and ~/Documents)
tm switch Fuzzy switch across every session · window · pane, with live preview
tm dash Full-screen dashboard of every pane everywhere
tm find Fuzzy-search the current pane's scrollback → clipboard
tm ls Pretty session list
tm save [name] Snapshot all sessions/windows/panes/cwd to disk
tm restore [name] Rebuild a saved workspace (survives reboots)
tm import Pull open Terminal.app tabs into tidy per-project sessions
tm doctor Self-check the install
tm cheatsheet Key reference

The dashboard (tm dash, or prefix Space)

A live curses view of every pane across every session, grouped by session, with per-pane category badges (AI / TEST / GIT / EDIT / JS / PY / OPS), busy vs idle indicators, and a live output preview of the selected pane.

↑↓ jk  navigate      Enter  jump to pane     x  kill pane
g / G  top/bottom    /      filter           X  kill window
z      zoom          , $    rename win/sess   n  new window
R      refresh       q      quit

Keys (prefix = Ctrl-a, Ctrl-b also works)

prefix Space   dashboard          prefix |     split right
prefix s       switch panes       prefix -     split down
prefix g       project picker     Alt h/j/k/l  move between panes
prefix S / w   session/win tree   prefix H/J/K/L resize
prefix c       new window         prefix z     zoom
Alt 1..9       go to window N     prefix x/X   kill pane/window
Shift ←/→      prev/next window   prefix e     sync typing to all panes
prefix ?       cheatsheet         prefix r     reload config

Copy mode is vi-style: prefix Enter to enter, v select, y yanks straight to the macOS clipboard (pbcopy), prefix ] pastes.

A good daily flow

  1. tm import once, to fold your current Terminal tabs into sessions.
  2. tm save to snapshot; tm restore after a reboot.
  3. Live in one tmux window; prefix Space whenever you need to find or jump to any of your running terminals.

Layout

tmux.conf              the config (sourced from ~/.tmux.conf)
bin/tm                 dispatcher CLI
bin/tm-dash            the live dashboard (Python/curses)
bin/tm-status          fast status-bar segments (git · cwd · battery)
bin/tm-persist         save / restore snapshots
bin/tm-import          Terminal.app → tmux consolidation
bin/tm-cheatsheet      key reference
install.sh             installer

State (snapshots, caches) lives in ~/.local/state/tm/.

Notes

  • No plugin manager, no network needed — everything works offline and renders in Apple Terminal's default font (no nerd font required).
  • Prefer nerd-font glyphs? Swap the // markers in tmux.conf and bin/tm-status for your preferred icons.

About

A cool tmux workspace system: live pane dashboard, fuzzy project launcher, save/restore, Terminal.app import

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages