Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
:computer: tmux session manager in python - json, yaml, python API
Python Shell

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
examples
manual
pkg
tmuxp
.gitignore
.gitmodules
.tmuxp.json
.tmuxp.yaml
.travis.yml
CHANGES
LICENSE
MANIFEST.in
README.rst
TODO
requirements.pip
run_tests.py
setup.py

README.rst

tmuxp solves the panes / pains of managing workspaces.

https://travis-ci.org/tony/tmuxp.png?branch=master https://badge.fury.io/py/tmuxp.png
https://raw.github.com/tony/tmuxp/master/doc/_static/tmuxp-dev-screenshot.png

Open to testers

tmuxp is still alpha code and needs a few more weeks until stable. See the Issues tracker to see known issues and for any other concerns.

Install

  • install tmux, at least version 1.8
  • libyaml is installed for your distribution.

Install tmuxp:

$ pip install tmuxp

See: Quickstart

CLI Commands

tmuxp attach-session <session_name> tmuxp uses switch-client if already inside tmux client.
tmuxp kill-session <session name>
tmuxp freeze <session name>
tmuxp load <file> Load a workspace yaml / json file. If session already made, will offer to attach.
tmuxp convert <file> Convert session yaml / json.
tmuxp import [teamocil | tmuxinator] <file> Import a teamocil or tmuxinator config.

Bash completion

For bash, .bashrc:

$ source tmuxp.bash

For tcsh, .tcshrc:

$ complete tmuxp 'p/*/`tmuxp.tcsh`/'

For zsh, .zshrc:

$ source tmuxp.zsh

See installing bash completion to get bash, zsh and tcsh completion working on your machine.

Mini Quickstart

See the full Quickstart in the documentation.

Load from ~/.tmuxp.yaml or ~/.tmuxp.json in current directory.

$ tmuxp load .

Load myconfig.yaml from ~/.tmuxp

$ tmuxp load myconfig.yaml

Load a relative or full config file (bash complete supports this too)

$ tmuxp load ./myconfig.yaml
$ tmuxp load ../myconfig.yaml
$ tmuxp load /var/www/mywebproject/myconfig.yaml

$ mkdir ~/.tmuxp and make a file ~/.tmuxp/test.yaml.

session_name: 2-pane-vertical
windows:
  - window_name: my test window
    panes:
      - pwd
      - pwd
$ tmuxp load test.yaml

or ~/.tmuxp/test.json:

{
  "windows": [
    {
      "panes": [
        "pwd",
        "pwd"
      ],
      "window_name": "my test window"
    }
  ],
  "session_name": "2-pane-vertical"
}
$ tmuxp load test.json

See: Examples

tmux support 1.8, 1.9-dev
config support yaml, json, python dict
Travis http://travis-ci.org/tony/tmuxp
Docs http://tmuxp.rtfd.org
API http://tmuxp.readthedocs.org/en/latest/api.html
Changelog http://tmuxp.readthedocs.org/en/latest/changes.html
Issues https://github.com/tony/tmuxp/issues
Source https://github.com/tony/tmuxp
pypi https://pypi.python.org/pypi/tmuxp
License BSD.
git repo
$ git clone https://github.com/tony/tmuxp.git
install dev
$ git clone https://github.com/tony/tmuxp.git tmuxp
$ cd ./tmuxp
$ virtualenv .env
$ source .env/bin/activate
$ pip install -e .

See the developing and testing page in the docs for more.

tests
$ python ./run_tests.py
Something went wrong with that request. Please try again.