Show HN: tmux.sh
github.com
github.com
+-------------+
| tmux server |
+-------------+
/
+---------+
| session |
+---------+
/ \
+---------+ +---------+
| client0 | | client1 |
+---------+ +---------+
- `tmux server` is the 'backend' process listening on /tmp/pairprog- `client0` and `client1` are the 'frontend' processes connecting to the socket /tmp/pairprog.
- `session` is the collection of windows that you are using.
The issue is that the currently active/focused window is an attribute of the session, meaning that all connected clients are always focused on the same window. What if you want to have each client focus on a separate window? This is behaviour that you get by default in screen, but you have to work a little more for in tmux.
The script is just a simple way to use session grouping, which would look like this:
+-------------+
| tmux server |
+-------------+
/ \
+---------+ +-----------+
| session |=| session-1 |
+---------+ +-----------+
| |
+---------+ +---------+
| client0 | | client1 |
+---------+ +---------+
Note the '=' between the sessions. I'm using this to denote that `session` and `session-1` are grouped, meaning that they share the same windows. Since each client is connected to a different session, they can switch windows independently.