Workspace files¶
Session and window configuration keys.
TMUXP_CONFIGDIR and other env vars.
Sample workspace configurations.
Select a builder and tune pane readiness.
tmuxp loads your terminal workspace into tmux using workspace files.
The workspace file can be JSON or YAML. Its declarative style resembles tmux’s object hierarchy: session, window, and panes.
Launching your session¶
Once you have tmuxp installed alongside tmux, you can load a workspace with:
$ tmuxp load ./path/to/file
tmuxp will offer to assist when:
Session already exists: tmuxp will prompt you to re-attach. It does this by checking if the workspace’s
session_namematches a session already running on the same server.When inside a tmux client,
tmuxpwill let you create a new session and switch to it, or append the windows to your existing session.
What’s in a workspace file?¶
A session name
A list of windows
A list of panes for each window
A list of commands for each pane
session_name
window
window
pane
pane
shell_command
shell_command
session_name: My session
windows:
- window_name: Window 1
panes:
- shell_command:
- cmd: echo "pane 1"
- shell_command:
- cmd: echo "pane 2"
session_name: My tmux session
windows:
- panes:
-
As of 1.11.x.
Breaking down the basic workspace into sections:
A session name
session_name: My session
A list of windows
windows: - window_name: Window 1 panes: ... # window settings - window_name: Window 2 panes: ... # window settings
A list of panes for each window
windows: panes: - # pane settings - # pane settings
A list of commands for each pane
windows: panes: - shell_command: - cmd: echo "pane 1 - cmd 1" # command options - cmd: echo "pane 1 - cmd 2" # command options
Where do I store workspace files?¶
Direct¶
You can create a workspace and load it from anywhere in your file system.
$ tmuxp load [workspace-file]
$ tmuxp load ./favorites.yaml
$ tmuxp load /opt/myapp/favorites.yaml
User-based workspaces¶
tmuxp uses the XDG Base Directory specification.
Often on POSIX machines, you will store them in ~/.config/tmuxp.
Assume you store apple.yaml in $XDG_CONFIG_HOME/tmuxp/apple.yaml, you can
then use:
$ tmuxp load apple
See also
This path can be overridden by TMUXP_CONFIGDIR
Project-specific¶
You can store a workspace in your project’s root directory as .tmuxp.yaml or .tmuxp.json, then:
Assume .tmuxp.yaml inside /opt/myapp
$ tmuxp load [workspace-file]
$ tmuxp load ./
$ tmuxp load /opt/myapp
Reference and usage¶
Session and window configuration keys.
TMUXP_CONFIGDIR and other env vars.
Sample workspace configurations.
Select a builder and tune pane readiness.