4 ms·
I wrote libtmux (https://libtmux.git-pull.com https://libtmux.git-pull.com) as a way to control tmux via python objects. In the backend, it's all tmux CLI comm
by tony 7y ago
I wrote libtmux (https://libtmux.git-pull.com https://libtmux.git-pull.com) as a way to control tmux via python objects.
In the backend, it's all tmux CLI commands.
tmuxp (https://tmuxp.git-pull.com https://tmuxp.git-pull.com), similar to tmuxinator, uses libtmux under the hood to build workspaces from a yaml/json file: https://github.com/tmux-python/tmuxp/blob/master/tmuxp/workspacebuilder.py https://github.com/tmux-python/tmuxp/blob/master/tmuxp/works...
Despite that, I've found some people prefer just using plain tmux scripting (https://twitter.com/bitprophet/status/561356905843392514 https://twitter.com/bitprophet/status/561356905843392514). Aside: That's Jeff Forcier, creator of fabric (http://www.fabfile.org/ http://www.fabfile.org/)
Through tmux's formats (http://man7.org/linux/man-pages/man1/tmux.1.html#FORMATS http://man7.org/linux/man-pages/man1/tmux.1.html#FORMATS), you can about any info you'd like on your workspace.
An area I don't know about is -C (control mode). libtmux could technically use it to get live updates rather than inefficiently and possibly needlessly querying session/window/pane info to keep objects up to date. Apparently iterm2's tmux integration uses it.
- cheez 7y agoThis is awesome. I had to hack together some scripts to implement workspace building and tmuxp looks like it might have saved me a lot of headache!