💻 tmux session manager. built on libtmux
rfoliva Merge pull request #465 from tmux-python/unpin_requirements
Unpin specific versions od packages in requirements files to match Pi…
Latest commit 1fdc610 Nov 16, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github add bot configuration to prune stale issues Nov 11, 2017
doc Clean up docs with trailing while spaces, long lines and inconsistent… Oct 6, 2018
examples Add documentation and example configurations for options_after Apr 24, 2017
manual Append .txt to manual files May 23, 2015
requirements Unpin specific versions od packages in requirements files to match Pi… Nov 16, 2018
tests Fix test issue, by removing execept as declaration to comply with fla… Nov 16, 2018
tmuxp Fix check for empty variables as it broke tests and we later check if… Oct 16, 2018
.coveragerc update codecov to new example format Mar 3, 2018
.gitignore Add .vscode to .gitignore file. Oct 4, 2018
.gitmodules Remove old rtd theme. Use pyramid theme on local builds. Default on r… Nov 5, 2013
.tmuxp.json update .tmuxp.json file Mar 4, 2018
.tmuxp.yaml convert to Pipfile Oct 19, 2017
.travis.yml add flake8 to travis-ci Mar 4, 2018
CHANGES CHANGES: Add 1.5.0 Oct 3, 2018
CODE_OF_CONDUCT.md Add code of conduct file. Oct 19, 2018
CONTRIBUTING.md Fix a few typos. Oct 19, 2018
LICENSE update LICENSE to MIT, copyright year 2018, fixes #264 Mar 12, 2018
MANIFEST.in Include tests in pypi sdist (fix #431) Sep 29, 2018
Makefile Add vulture / watch_vulture make tasks Aug 25, 2018
Pipfile Update Pipfiles to matchi this PR as well. Oct 20, 2018
Pipfile.lock Update Pipfiles to matchi this PR as well. Oct 20, 2018
README.rst add help note Apr 15, 2018
setup.cfg Bump line-length 100 -> 88 Aug 25, 2018
setup.py Add metadata to setup.py Sep 4, 2018
tox.ini drop python 2.6 support Apr 28, 2017

README.rst

tmuxp, tmux session manager. built on libtmux.

Python Package Documentation Status Build Status Code Coverage License

We need help! tmuxp is a trusted session manager for tmux. If you could lend your time to helping answer issues and QA pull requests, please do! See issue #290!

New to tmux? The Tao of tmux is available on Leanpub and Amazon Kindle. Read and browse the book for free on the web.

Installation

$ pip install --user tmuxp

Load a tmux session

Load tmux sessions via json and YAML, tmuxinator and teamocil style.

session_name: 4-pane-split
windows:
- window_name: dev window
  layout: tiled
  shell_command_before:
    - cd ~/                    # run as a first command in all panes
  panes:
    - shell_command:           # pane no. 1
        - cd /var/log          # run multiple commands in this pane
        - ls -al | grep \.log
    - echo second pane         # pane no. 2
    - echo third pane          # pane no. 3
    - echo forth pane          # pane no. 4

Save as mysession.yaml, and load:

$ tmuxp load ./mysession.yaml

Sessions in ~/.tmuxp/ can use names:

$ tmuxp load mysession

Projects with .tmuxp.yaml or .tmuxp.json load via directory:

$ tmuxp load path/to/my/project/

Load multiple at once (in bg, offer to attach last):

$ tmuxp load mysession ./another/project/

simple and very elaborate config examples

Store configs in (~/.tmuxp) or include in your project as ~/.tmuxp.{yaml,json}. See author's tmuxp configs and the the projects' tmuxp.yaml.

Run custom startup scripts (such as installing project dependencies before loading tmux. See the bootstrap_env.py and before_script example

You can also load sessions in the background by passing -d flag

https://raw.github.com/tmux-python/tmuxp/master/doc/_static/tmuxp-demo.gif

Freeze a tmux session

Snapshot your tmux layout, pane paths, and window/session names.

$ tmuxp freeze session-name

See more about freezing tmux sessions.

Docs / Reading material

See the Quickstart.

Documentation homepage (also in 中文)

Want to learn more about tmux itself? Read The Tao of Tmux online.

Donations

Your donations fund development of new features, testing and support. Your money will go directly to maintenance and development of the project. If you are an individual, feel free to give whatever feels right for the value you get out of the project.

See donation options at https://git-pull.com/support.html.

Project details

tmux support 1.8, 1.9a, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
python support 2.7, >= 3.3, pypy, pypy3
config support yaml, json, python dict
Source https://github.com/tmux-python/tmuxp
Docs http://tmuxp.git-pull.com
API http://tmuxp.git-pull.com/en/latest/api.html
Changelog http://tmuxp.git-pull.com/en/latest/history.html
Issues https://github.com/tmux-python/tmuxp/issues
Travis http://travis-ci.org/tmux-python/tmuxp
Test Coverage https://codecov.io/gh/tmux-python/tmuxp
pypi https://pypi.python.org/pypi/tmuxp
Open Hub https://www.openhub.net/p/tmuxp
License MIT.
git repo
$ git clone https://github.com/tmux-python/tmuxp.git
install stable
$ pip install --user tmuxp
install dev
$ git clone https://github.com/tmux-python/tmuxp.git tmuxp
$ cd ./tmuxp
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -e .

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

tests
$ make test