airmux.
- 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
startcommand loads and attaches to an existing project, whileeditcreates or modifies project files. - Projects support environment variable expansion, and command-line arguments passed to
startare 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, andfreezecan manage existing projects. Debugprints the tmux commands to create a session without attaching, which is useful for troubleshooting.- Fields like
on_startandon_stopallow 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.