The other tmux session managers are doing it wrong. From unnecessary options requiring pages of documentation, to windows defined by a complicated nesting of pane splits. Instead, session management should be more flexible and more powerful, yet so easy that anybody could use it after just one example.
At the heart of tmuxomatic is the windowgram, a better way of defining tmux windows. The windowgram is a rectangle comprised of alphanumeric characters (0-9, a-z, A-Z). Each character identifies the position, size, and shape of a pane. It should take only one short example to demonstrate the flexibility and power of the windowgram.
Compare this window from session_example
, with its screenshot from tmuxomatic session_example
:
window example_one # <-- A new window begins like this, spaces in names are allowed
AAAAAAvvvvvXXXXXTTTT # <-- The windowgram, it defines the shapes and positions of panes
jjjQQQQQQQuuuuuuTTTT # <-- Make your own, of any size and arrangement, 62 panes maximum
jjjQQQQQQQuuuuuuTTTT
jjjQQQQQQQuuuuuuTTTT
0000llllllllllaaaaaa
1234llllllllllaaaaaa
foc # <-- Three 3-letter commands to remember: Focus, Directory, Run
dir ~ # <-- Unlinked directory, becomes default for all undefined panes
A run figlet "A" # <-- Linked to pane A, this command prints "A" in large lettering
Q run figlet "Q"
A foc
With tmuxomatic, you'll never have to manually split, position, or size a pane again. And linking the panes to actions is so simple and logical that you probably won't forget it. There are no extra file format rules to remember, and typically no command line arguments will be necessary.
For additional features, run tmuxomatic --help
. For example, there's a feature to scale your windowgram larger or smaller -- by any multiplier, on either axis -- to help with fine-tuning. This is useful if you need very small panes on a window.
This application requires:
There are three ways to install tmuxomatic, in order of convenience:
-
Automatically (pip)
pip-python3 install tmuxomatic
-
Manually (python)
- Download and extract the archive file from https://pypi.python.org/pypi/tmuxomatic
- In the tmuxomatic directory, run
python3 setup.py install
-
From Development (git)
- Visit https://github.com/oxidane/tmuxomatic for up-to-date installation instructions
git clone git://github.com/oxidane/tmuxomatic.git
cp -a tmuxomatic/tmuxomatic /usr/bin
Verify that you have the current version installed:
tmuxomatic -V
On some systems pip will not upgrade properly, this may be fixed by cleaning the pip cache:
rm -rf /tmp/pip-build-root/tmuxomatic
pip-python3 install --upgrade tmuxomatic
To use tmuxomatic, you don't have to know everything about how to use tmux, but the knowledge is useful for customizing the tmux status bar, or changing the default key bindings. These are tmux user preferences, and typically placed in a personal .tmux.conf
file.
Copyright 2013-2014, Oxidane. All rights reserved.
Distributed under the BSD 3-Clause license. The copyright and license must be included with any use, modification, or redistribution of the source. See the license for details.