Assure you have at least tmux >= 1.8 and python >= 2.6.

$ pip install tmuxp

You can upgrade to the latest release with:

$ pip install tmuxp -U

Then install Completion.


tmuxp launches workspaces / sessions from JSON and YAML files.

Configuration files can be stored in $HOME/.tmuxp or in project directories as .tmuxp.py, .tmuxp.json or .tmuxp.yaml.

Every configuration is required to have:

  1. session_name
  2. list of windows
  3. list of panes for every window in windows

Create a file, ~/.tmuxp/example.yaml:

session_name: 2-pane-vertical
  - window_name: my test window
      - echo hello
      - echo hello
$ tmuxp load example.yaml

This creates your tmuxp session.

Load multiple tmux sessions at once:

$ tmuxp load example.yaml anothersession.yaml

tmuxp will offer to switch-client for you if you’re already in a session.

You can also have a custom tmuxp config directory by setting the TMUX_CONFIGDIR in your environment variables.

$ TMUXP_CONFIGDIR=$HOME/.tmuxpmoo tmuxp load cpython

Or in your ~/.bashrc / ~/.zshrc you can set:

export TMUXP_CONFIGDIR=$HOME/.yourconfigdir/tmuxp

You can also Import configs teamocil and tmuxinator.


ORM - Object Relational Mapper

AL - Abstraction Layer

python abstraction layer

tmuxp python api tmux(1) equivalent
libtmux.Server.new_session() $ tmux new-session
libtmux.Server.list_sessions() $ tmux list-sessions
libtmux.Session.list_windows() $ tmux list-windows
libtmux.Session.new_window() $ tmux new-window
libtmux.Window.list_panes() $ tmux list-panes
libtmux.Window.split_window() $ tmux split-window
libtmux.Pane.send_keys() $ tmux send-keys