Asignar espacios de trabajo en i3 a múltiples pantallas

He encendido usando i3 en mi computadora portátil Linux. Normalmente estoy usando solo el monitor interno de la computadora portátil (pantalla eDP1 ), pero cuando estoy en el trabajo, tiendo a conectar un monitor secundario al puerto HDMI de mi computadora (pantalla HDMI2 ). Hasta ahora, he hecho que esto funcione bien al agregar estos commands a mi file de configuration i3:

 # use workspaces on different monitors workspace "1: P1" output eDP1 workspace "2: P2" output eDP1 workspace "3: P3" output eDP1 workspace "4: P4" output eDP1 workspace "5: P5" output eDP1 workspace "6: S1" output HDMI2 workspace "7: S2" output HDMI2 workspace "8: S3" output HDMI2 workspace "9: S4" output HDMI2 workspace "10: S5" output HDMI2 # add HDMI monitor when connected exec --no-startup-id xrandr --output HDMI2 --right-of eDP1 bindsym $mod+m exec --no-startup-id xrandr --output HDMI2 --auto --right-of eDP1 

En otras palabras, cuando conecto mi pantalla HDMI, solo presiono Mod + M para que i3 lo detecte, lo coloco a la derecha de mi pantalla principal y delego 5 espacios de trabajo con nombre (6-10).

Aquí está el problema: en casa, tengo otro monitor que puedo conectar con VGA (pantalla DP2 ). Puedo ejecutar el command xrandr anterior para colocar esta pantalla a la derecha de mi pantalla principal también, pero no puedo asignar los espacios de trabajo a esta pantalla por defecto, a less que reemplace las reglas que ya tengo para mi monitor HDMI . Me gustaría que estos dos espacios de trabajo funcionen igual sin importar qué monitor use, por lo que esta no es una opción.

TL; DR ¿Hay alguna manera de asignar espacios de trabajo a dos pantallas diferentes, dependiendo de qué pantalla está conectada (suponiendo que nunca se conectarán al mismo time)?

No puede asignar múltiples salidas al espacio de trabajo individual, consulte: https://github.com/i3/i3/issues/555

Entonces, la única forma es cambiar dinámicamente la configuration de i3. Podría asignar una secuencia de commands de teclas de acceso rápido que hará dos cosas: cambiar salidas de monitor con xrandr y mover espacios de trabajo con i3-msg :

 xrandr --output DP2 --auto --right-of eDP1 i3-msg "workspace 6, move workspace to output DP2" ... i3-msg "workspace 10, move workspace to output DP2" 

Con el script anterior moverá 6-10 espacios de trabajo a DP2 y terminará quedándose en el área de trabajo 10.