Especifique el porcentaje de panel en el proyecto tmuxinator

95

¿Cómo puedo especificar un porcentaje de panel en tmuxinator?

P.ej:

 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 ejemplo: el panel vim ocuparía el 75% de la pantalla ... ¿hay alguna forma de especificar esto? ¿O en qué parte de la documentación debo buscar? Parece que no puedo encontrarlo en ningún lado.

Goles
fuente

Respuestas:

197

El diseño debe especificarse en la layout:línea. Pero no está limitado a los cinco diseños preestablecidos (como vertical principal). Desde la página del 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.

Primero configure su diseño tal como le gusta; puede ajustar los anchos resize-panehasta que sea el adecuado para usted. Entonces corre tmux list-windows. Y luego debería poder usar la layout:línea de la salida sin alterar en tmuxinator.conf

Entonces, según el resultado de su esencia:

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

La sección relevante del archivo conf tmuxinator debe 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
fuente
tmux list-windows me dio el siguiente resultado ( gist.github.com/2324001 ). ¿Cómo se vería la línea de diseño de tmuxinator de acuerdo con esa salida?
Goles
3
Al principio no entendí cómo ejecutar el comando tmux list-windows. Entonces me di cuenta de que era obvio. 1) Fuera de su sesión tmux (desconecte o abra una nueva ventana de consola) ejecute el comando como cualquier otro comando de shell. 2) Ingrese al modo de comando ( PREFIX :) dentro de tmux y use el comandolist-windows
caspyin
2
Creo que debería quedar claro en la respuesta que la misma cantidad de paneles enumerados por el list-panescomando debe especificarse en la panes:sección. Por ejemplo, si se definen 6 paneles, deberían aparecer 6 líneas debajo panes:, incluso si solo contienen un -(sin hacer nada en este panel). De lo contrario, la ventana no se formateará correctamente como se describe en la list-panessalida.
James McCormac
1
Algunos pueden encontrar este comando útil en scripts para simplemente imprimir la parte del diseño:tmux list-windows | sed -n 's/.*layout \(.*\)] @.*/\1/p'
Nathanael