Especifique a porcentagem do painel no projeto do tmuxinator

95

Como posso especificar uma porcentagem do painel no tmuxinator?

Por exemplo:

 project_name: ad_dev
 project_root: ~/Programming/WWW/Rails/projects/ApparelDreamDev
 rvm: ruby-1.9.2-p290@apparel_dev
 pre: SQL
 tabs:
   - editor:
       layout: main-vertical
       panes:
         - vim 75%  
         - #empty, will just run plain bash
         - top

por exemplo: o painel vim ocuparia 75% da tela ... há uma maneira de especificar isso? ou onde devo procurar na documentação? Não consigo encontrar em lugar nenhum.

Goles
fonte

Respostas:

197

O layout deve ser especificado na layout:linha. Mas você não está limitado aos cinco layouts predefinidos (como principal-vertical). Na página de manual :

In addition, select-layout may be used to apply a previously used layout - 
the list-windows command displays the layout of each window in a form 
suitable for use with select-layout.  For example:

       $ tmux list-windows
       0: ksh [159x48]
           layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0}
       $ tmux select-layout bb62,159x48,0,0{79x48,0,0,79x48,80,0}

 tmux automatically adjusts the size of the layout for the current window
 size.  Note that a layout cannot be applied to a window with more panes
 than that from which the layout was originally defined.

Primeiro, configure seu layout do jeito que você gosta - você pode ajustar as larguras com resize-paneaté que fique certo para você. Então corra tmux list-windows. E então você deve ser capaz de usar a layout:linha da saída inalterada em tmuxinator.conf

Portanto, com base na saída de sua essência:

0: tmux [208x73] [layout b147,208x73,0,0[208x62,0,0,208x10,0,63{104x10,0,63,103x10,105,63}]] (active)

A seção relevante do arquivo conf do tmuxinator deve ser:

  - editor:
       layout: b147,208x73,0,0[208x62,0,0,208x10,0,63{104x10,0,63,103x10,105,63}]
       panes:
         - vim
         - #empty, will just run plain bash
         - top
Hamish Downer
fonte
tmux list-windows me deu a seguinte saída ( gist.github.com/2324001 ). Como a linha de layout do tmuxinator ficaria de acordo com essa saída?
Goles
3
Não entendi como executar o comando tmux list-windowsno início. Então percebi que era óbvio. 1) Fora de sua sessão tmux (desanexar ou abrir uma nova janela de console) execute o comando como qualquer outro comando shell. 2) Entre no modo de comando ( PREFIX :) dentro do tmux e use o comandolist-windows
caspyin
2
Acho que deve ficar claro na resposta que o mesmo número de painéis listados pelo list-panescomando deve ser especificado na panes:seção. Por exemplo, se 6 painéis são definidos, 6 linhas devem aparecer abaixo panes:, mesmo que contenham apenas um -(dizendo não fazer nada neste painel). Caso contrário, a janela não será formatada corretamente conforme descrito na list-panessaída.
James McCormac
1
Alguns podem achar este comando útil em scripts para apenas imprimir a parte do layout:tmux list-windows | sed -n 's/.*layout \(.*\)] @.*/\1/p'
Nathanael