Este es un seguimiento de una pregunta anterior sobre cómo iniciar automáticamente las aplicaciones en espacios de trabajo individuales con el administrador de ventanas i3 y qué se puede y no se puede hacer dentro del ~/.i3/configarchivo de configuración.
Primero, la solución provista basada en la documentación de Arch Linux y una actualización provista por op donde él empuja la lógica aún más:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'
También es interesante este intercambio sobre aprovechar algo de eso directamente en la línea de comando sin duplicar:
i3-msg workspace 3; i3-msg exec firefox
i3-msg workspace 9; i3-msg exec chromium
Pero nunca he visto una configuración que inicie automáticamente muchas ventanas / aplicaciones en cada espacio de trabajo de acuerdo con un diseño vertical u horizontal deseado. Mi objetivo es iniciar automáticamente esta configuración simple que uso:
 _____ _____     ___________     ___________
| lx  | lx  |   |        |u_|   |     |     |   proportions:
|_____|_____|   |  FF    |lx|   |spacefm    |   1- 25% each
|medit| lx  |   |        |__|   |     | vlc |   2- 75/25 x 25/50/25
|_____|_____|   |________|u_|   |_____|_____|   3- 50/50
      1               2               3
Entonces comienza con algo como esto en el configarchivo:
exec --no-startup-id i3-msg 'workspace 1; exec i3-sensible-terminal; layout toggle split; layout splitv; split vertical; exec i3-sensible-terminal; exec i3-sensible-terminal; exec i3-sensible-terminal; workspace 2; exec firefox; exec urxvt; exec i3-sensible-terminal; exec urxvt; workspace 3; exec spacefm; exec vlc'
Pero, ¿cómo logras el tipo de diseño y la división vertical / horizontal que deseas? Lo intento, pero no está claro cómo se "mezclan" la ejecución y el diseño. La sintaxis se siente idiosincrásica al comenzar porque está ejecutando i3-imgdentro de la configuración de i3. ¿Utiliza split h(o v) - layout split v- exec layout split v- focus down(o derecha) entre cada execllamada?
Para un solo espacio de trabajo, la configuración inicia todas las aplicaciones, ya sea vertical u horizontalmente, y parece que no puedo influir en el diseño, o el último splitcomando en la cadena decide si las ventanas se agregan vertical u horizontalmente. i3-msgaparentemente ignora partes del comando que no están formateadas correctamente en algunos casos, por lo que es difícil de depurar. Esto se ve agravado por el hecho de que realmente necesita salir de X y startxnuevamente cada vez para verificar los resultados, ya que solo actualizar la configuración mod+shift+Rno lo cortará, incluso si cierra todo en cada uno de los espacios de trabajo.
¿Cuál es la forma correcta de configurar esto? ¿Alguien tiene una solución que implemente algo así? La documentación es bastante buena, pero no proporciona que pueda ver un ejemplo detallado que combina la ejecución y el diseño en múltiples espacios de trabajo.

Respuestas:
Creo que está buscando la nueva característica de ahorro de diseño que se introdujo en i3 v4.8 (15/06/2014). La documentación vinculada parece bastante exhaustiva.
Citando de la documentación:
... y las notas de lanzamiento :
1. Es posible que necesite los paquetes perl-anyevent-i3 y perl-json-xs para usar la
i3-save-treeutilidad.fuente
lxterminalourxvtpara un solo espacio de trabajo, entonces debe diferenciarlas--name somethingcuando las ejecute en .i3 / config. El ejemplo en el documento funciona, pero cuando uso una exportación de uno de mi espacio de trabajo, parece que no puedo hacer que funcione. Utiliza class para el nombre y la instancia para lo que usaste con --name. En este caso, solo puedo esperar seriamente una herramienta de interfaz gráfica de usuario , ya que el formato json tiene muchos corchetes..i3/configversiones anteriores, pero una vez que inicie sesión correctamente, todo funciona bien. Lo que hice fue organizar algunos diseños y guardarlos, luego solo edite las variables de clase de los archivos json. Luego, algo asíi3-msg workspace 2\; append_layout mylayout.json\;y luegoi3-msg exec lxterminal\; exec lxterminal\; exec lxterminal\; exec meditdebería restaurar su primer diseño deseado. // Gracias por mejorar mi respuesta, por cierto.