Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tmux session manager in python - json, yaml, python API

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 uses switch-client for you if already in a TMUX client.

$ tmuxp attach-session<tab> # current sessions

Kill session

$ tmuxp kill-session<tab> # current sessions

Load a session configuration from a YAML or JSON file.

$ tmuxp load<tab> # configs in config dir, current directory

Convert a session config JSON <=> YAML:

$ tmuxp convert<tab> # configs in config dir, current directory

Experimental: Import configuration from teamocil or tmuxinator:

$ tmuxp import teamocil<tab> # configs in ~/.teamocil dir
$ tmuxp import tmuxinator<tab> # configs in ~/.tmuxinator dir

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

load tmux sessions from yaml and json

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.