This is a simple wrapper around tmux to allow you to define a session in a JSON file. This is to avoid having to do all the setup of making the session with a name, opening the windows with the right names and commands, and doing so in a consistent manner. Also, if the session already exists, it will just open it for you.
Simply install it from pypi:
pip install pytmux
or if you insist:
easy_install pytmux
To list all configs:
pytmux list
To run a config:
pytmux run <config>
To start a new configuration or edit an existing one:
pytmux edit <config>
To validate all of your configs:
pytmux doctor
JSON will be used for configs:
{
"name": "sample",
"directory": "~/devel/sample",
"windows": [
{
"name": "dev server",
"command": "./manage.py runserver"
}, {
"name": "some shell"
}, {
"command": "emacs"
}, {}
]
}
Will open a tmux session named sample
with 4 windows open. The first will be named dev server
and will have ./manage.py runserver
running in it. The second will be a window named some shell
which will have the system default shell running in it. The third will default to using automatic-rename
and will have emacs
running in it. The final will be a window with automatic-rename
and the system default shell.
Honestly, I don't want to build this, but none of the currently existing tmux wrappers seem interested in supporting not naming windows and letting tmux do its automatic-rename
thing. Also they use YAML and I prefer JSON.
There are a couple that exist already but don't make me happy.