- Airmux is a session manager for tmux that allows defining and managing multiple tmux sessions through project configuration files.
- Projects are defined in YAML or JSON files that specify settings such as commands to run, window/pane layouts, and other session settings.
- The
start command loads and attaches to an existing project, while edit creates or modifies project files.
- Projects support environment variable expansion, and command-line arguments passed to
start are available as $1, $2, etc., in the project file.
- Local project files can be used without specifying a name if they are found by searching parent directories.
- Commands like
list, remove, and freeze can manage existing projects.
Debug prints the tmux commands to create a session without attaching, which is useful for troubleshooting.
- Fields like
on_start and on_stop allow running commands before or after session startup/shutdown.
- Windows and panes have their own settings, such as layouts and commands to run, and they can be nested in the project file.
- Airmux aims to provide an easy and organized way to define and manage multiple related tmux sessions through project files.