Manage tmux from the safety of your editor!
Mux aims to be a thin wrapper around tmux and GNU screen, providing an interface to allow you to describe layouts which will be called by either command.
There be dragons here. This might work beautifully and make you 10,00% more productive, but it's just as likely to set your Hue lights on fire and empty your bank account.
The bread and butter, reads your configuration(s) and uses them to create a layout. As it's just using standard tmux, you are feel free to attach from any terminal on the system (or even SSH in from another system!).
Kill mux sessions using current prefix
Using the currently configured prefix, allows you to kill a specific session running.
Kill mux session for current project
Attempst to kill the Mux session running on the current project.
Unimplemented currently, but will be used to open the relevant configuration file currently being used.
Also provided are a number of commands to navigate within the created layouts.
All standard tmux move commands are supported
Commands to map to the above directions are appropriately named (e.g. "Move left 1 pane" moves ..... well, left 1 pane).
Currently the schema is quite simplistic and only supports creating simple panes and windows. Configuration is handled in a .mux.json file (currently no generator) in project root. If you create the file after the project is loaded, you will also need to reload the window.
A configuration should contain at least 1 window, and every window will always contain a command. Panes are optional but highly recommended.
For example, a schema that looks like
would give a layout that looks like
Support for move advanced things like pane sizes and naming windows is coming soon™.
Below are some example commands to get you started contributing:
Then drop me a pull request on GitHub (or from the command line if you use hub)
Config files for linters and editorconfig are coming soon™.
Screen support is minimal but supports a flat layout. If enough demand for better support arises I will investigate.
In order to get the full experience™ of screen, including vertical splits, you will need to install a patched version of screen (tmux is HIGHLY encouraged but if you feel so inclined then proceed).
Install using the commands below:
Reload your terminal configuration or restart vscode to use the new executable.
Either build manually or attempt to install a patched version from your distro's repository.
Tmux is actively developed and maintained by a number of very talented coders.