MuxManage 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. CommandsShow MuxThe 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 prefixUsing the currently configured prefix, allows you to kill a specific session running. Kill mux session for current projectAttempst to kill the Mux session running on the current project. Configure MuxUnimplemented currently, but will be used to open the relevant configuration file currently being used. NavigationAlso provided are a number of commands to navigate within the created layouts. Window navigationComing soon™. Pane navigationAll 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). ConfigurationCurrently 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™. ContributingBelow 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™. ScreenScreen 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). OSXInstall using the commands below:
Reload your terminal configuration or restart vscode to use the new executable. LinuxEither build manually or attempt to install a patched version from your distro's repository. CreditsThe theme I use in screenshots is Monokai Pro and my tmux setup is here. Tmux is actively developed and maintained by a number of very talented coders. |