Hyperinator is a layout automation plugin for Hyper.app.
Hyperinator bases on the code of hyperlayout, which is written by Timo Lins.
$ npm install -g hyperinator
$ hyper i hyperinator
Hyperinator uses tmuxp's YAML config style. If you use tmuxinator or teamocil, you can use tmuxp to import their configs.
All configs must be stored in ~/.hyperinator
.
Currently hyperinator only supports define layout with tmux's layout string, you can get it with tmux list-windows -F "#{window_layout}"
in a tmux session.
For example, if you want get a sample layout with two pane:
$ cat ~/.hyperinator/sample.yml
windows:
- layout: 5162,237x48,0,0{118x48,0,0,152,118x48,119,0,153}
panes:
- echo 'First pane'
- echo 'Second pane'
You can load this layout with:
$ hyperinator load sample
You will get a layout like:
.------------------.------------------.
| (0) | (1) |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
'------------------'------------------'
A more complex config file which is used by the GIF above:
start_directory: ~/
windows:
- layout: e349,237x48,0,0{144x48,0,0,152,92x48,145,0[92x32,145,0,153,92x15,145,33,154]}
panes:
- shell_command:
- echo 'Load demo layout!' > /tmp/test.txt
- cat /tmp/test.txt
focus: True
- shell_command:
- pwd
start_directory: /tmp/
- echo 'Hello world!'
focus: True
- layout: f8cc,237x48,0,0{164x48,0,0,152,72x48,165,0,153}
panes:
- shell_command:
- emacs -nw
focus: True
-
start_directory: /etc